Highlighter срещу StyledDocument на Java Swing за промяна на цвета на текста в JTextPane

Използвал съм setCharacterAttributes от StyledDocument, за да променя цветовете на конкретни думи или секции в JTextPane.

Но след това забелязах някои отговори тук, където използват Highlighter (обикновено DefaultHighlighter), за да направят същото.

Какви са съществените разлики между двата подхода? Кои са някои цели, за които използването на Highligher е по-добро от манипулирането на StyledDocument?


person Gigatron    schedule 12.03.2012    source източник


Отговори (1)


Основната разлика е промяната на модела (Документ) в първия случай и промяната на изгледа във втория. Ако имате нужда само от оцветяване на текст (фон или преден план), по-добре е да използвате маркер. Ако атрибутите на шрифта променят размера си, използвайте Document.

Също така, ако искате да запазите текст със свойства на шрифта, използвайте Документ.

person StanislavL    schedule 12.03.2012