我正在尝试创建一个文本编辑器。我正在使用带有StyledDocument的JTextPane。我正在尝试实现的是一种改变所选文本属性的方法。
其工作方式如下:用户输入所需的文本。然后,他可以通过选择并按下按钮来更改任何字符串的属性(字体系列、字体大小,无论是否为粗体/斜体),通过复选框和下拉列表可以选择所需的更改。
我是否可以更改所选字符串的属性,而无需重新构建文档?我一直在寻找,但找不到合适的解决方案。
发布于 2013-01-08 03:30:14
发布于 2013-01-08 00:00:09
您将使用StyledDocument的setCharacterAttributes方法。
下面是我的一个Swing应用程序的示例,它用突出显示的颜色突出显示文本。
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(
SimpleAttributeSet.EMPTY,
StyleConstants.Foreground, highlightColor);
cobolProgram.setCharacterAttributes(offset, length, aset,
false);您可以使用其他StyleConstants来更改其他样式属性。
发布于 2013-01-07 23:59:26
在我的例子中,当用户更改文本时,我“清理”了样式:
StyledDocument doc = tf.getStyledDocument();
//clean style
doc.setCharacterAttributes(0, sb.length(), DEF, true); https://stackoverflow.com/questions/14198787
复制相似问题