用于更改JTextPane中文本颜色的Highlighter与StyledDocument的Java Swing

时间:2012-03-12 14:23:08

标签: java swing jtextpane styleddocument swing-highlighter

我一直在使用setCharacterAttributes StyledDocument来更改JTextPane中特定字词或部分的颜色。

但后来我发现了一些答案,他们使用Highlighter(通常是DefaultHighlighter)来做同样的事情。

这两种方法有哪些本质区别?使用highligher比使用StyledDocument更好的目的是什么?

1 个答案:

答案 0 :(得分:4)

主要区别在于在第一种情况下改变模型(文档)并在第二种情况下改变视图。 如果您只需要着色文本(背景或前景),最好使用荧光笔。如果字体属性更改大小,请使用Document。

此外,如果您想保存一些带有字体属性的文本,请使用文档。