Highlighter vs. StyledDocument из Java Swing для изменения цвета текста в JTextPane - PullRequest
3 голосов
/ 12 марта 2012

Я использовал setCharacterAttributes из StyledDocument, чтобы изменить цвета определенных слов или разделов в JTextPane.

Но потом я заметил несколько ответов, где они используют Highlighter (обычно DefaultHighlighter), чтобы сделать то же самое.

Каковы существенные различия между двумя подходами? Для каких целей использование маркера лучше, чем манипулирование StyledDocument?

1 Ответ

4 голосов
/ 12 марта 2012

Основным отличием является изменение модели (документа) в первом случае и изменение вида во втором. Если вам нужно просто раскрасить текст (фон или передний план), лучше использовать подсветку. Если атрибуты шрифта меняют размеры, используйте Document.

Также, если вы хотите сохранить текст со свойствами шрифта, используйте Document.

...