Что означает логический аргумент в StyleConstants.setBold?
Я хочу установить выделение жирным шрифтом в определенном диапазоне как Полужирный. Как я мог это сделать?
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 или почему используется логическое значение?
2 ответа
Решение
РЕШЕНО: // ДОЛЖЕН УКАЗАТЬ ДЛИНУ ВТОРОГО АРГУМЕНТА.
docs.setCharacterAttributes( (int) keywordTracer.keywords.get(index).getFirst(),
(int) keywordTracer.keywords.get(index).getSecond()-(int)
keywordTracer.keywords.get(index).getFirst(),getMainStyle(),
false); //MUST SPECIFY A LENGTH IN SECOND ARGUMENT.
вместо
docs.setCharacterAttributes( (int) keywordTracer.keywords.get(index).getFirst(),
(int) keywordTracer.keywords.get(index).getSecond(),getMainStyle(),true);
Логическое значение должно устанавливать его жирным шрифтом или нет.
StyleConstants: setBold (MutableAttributeSet a, логическое значение b)