java - 用于更改 JTextPane 中文本颜色的 Java Swing 荧光笔与 StyledDocument

标签 java swing jtextpane styleddocument swing-highlighter

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

但后来我注意到这里有一些答案,他们使用 Highlighter(通常是 DefaultHighlighter)来做同样的事情。

这两种方法之间的本质区别是什么?在哪些方面使用荧光笔比操纵 StyledDocument 更好?

最佳答案

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

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

关于java - 用于更改 JTextPane 中文本颜色的 Java Swing 荧光笔与 StyledDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9668855/

相关文章:

java - 无法使用 Jtextfields 添加焦点监听器或在 Jtable 中设置字体

java - 在 JTextPane 中转换为大写或小写时,文本样式和格式发生变化

java - 如何让 JEditorPane 像 JTextArea 一样显示文本?

java - 每次创建对象并将其添加到数组时都会增加 "count"

java - JSON 构造函数显示为未定义

java - 遍历文件集时出现问题

java - JTextPane 中的监听器

java - 我可以在java中动态引用一个对象吗?

java - 如何设置 JButton 的大小?

java - 将 Swing 应用程序转换为 Applet 的复杂性