我想将特定范围内的字符设置为粗体。我该怎么办?
System.out.println("Painting keywords:.......");
for(int index =0;index<keywordTracer.keywords.size();index++ )
{
StyleConstants.setBold(getMainStyle(), true);
System.out.printf("\nkeywords found at line :%d %d", (int) keywordTracer.keywords.get(index).getFirst(),(int) keywordTracer.keywords.get(index).getSecond());
docs.setCharacterAttributes( (int) keywordTracer.keywords.get(index).getFirst(),(int) keywordTracer.keywords.get(index).getSecond(),getMainStyle(),true);
StyleConstants.setBold(getMainStyle(), false);
}
上面的代码无法正常工作。
但,
//System.out.println("Painting Invalid Syntaxes:.......");
for(int index =0;index<ColorTracer.invalidSyntax.size();index++ )
{
StyleConstants.setStrikeThrough(getMainStyle(), true);
StyleConstants.setForeground(getMainStyle(), Color.orange);
System.out.printf("\nInvalid syntax at line :%d %d", (int) ColorTracer.invalidSyntax.get(index),(int) ColorTracer.invalidSyntax.get(index)+1 );
docs.setCharacterAttributes( (int) ColorTracer.invalidSyntax.get(index),1,getMainStyle(),true); //Till only one charecter
StyleConstants.setStrikeThrough(getMainStyle(), false);
}
此代码可以正常工作。
StyleConstants.setStrikeThrough(getMainStyle(),{SET / RESET});
我对SET / RESET的假设是否正确,还是为什么要使用布尔值?
最佳答案
布尔值是否将其设置为粗体。
StyleConstants:setBold(MutableAttributeSet a,boolean b)