Java 更改StyledDocument中的特定字符串属性
我正在尝试创建一个文本编辑器。我正在使用带有StyledDocument的JTextPane。我试图实现的是一种更改所选文本属性的方法 其工作方式如下:用户输入所需的文本。之后,他可以通过选择并按下按钮来更改任何字符串的属性(字体系列、字体大小,无论是否为粗体/斜体),通过复选框和下拉列表可以选择所需的更改 我是否可以在不重建文档的情况下更改所选字符串的属性?我一直在搜索,但找不到合适的解决方案。在我的情况下,当用户更改文本时,我“清理”了样式:Java 更改StyledDocument中的特定字符串属性,java,swing,text-editor,jtextpane,styleddocument,Java,Swing,Text Editor,Jtextpane,Styleddocument,我正在尝试创建一个文本编辑器。我正在使用带有StyledDocument的JTextPane。我试图实现的是一种更改所选文本属性的方法 其工作方式如下:用户输入所需的文本。之后,他可以通过选择并按下按钮来更改任何字符串的属性(字体系列、字体大小,无论是否为粗体/斜体),通过复选框和下拉列表可以选择所需的更改 我是否可以在不重建文档的情况下更改所选字符串的属性?我一直在搜索,但找不到合适的解决方案。在我的情况下,当用户更改文本时,我“清理”了样式: StyledDocument doc = tf.
StyledDocument doc = tf.getStyledDocument();
//clean style
doc.setCharacterAttributes(0, sb.length(), DEF, true);
您可以使用StyledDocument的setCharacterAttributes方法 下面是我的一个Swing应用程序的一个示例,它使用高亮颜色高亮显示文本
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(
SimpleAttributeSet.EMPTY,
StyleConstants.Foreground, highlightColor);
cobolProgram.setCharacterAttributes(offset, length, aset,
false);
您可以使用其他StyleConstants来更改其他样式属性。您可以使用中查看和讨论的
StyledEditorKit
提供的操作
请看一看: