我想在JTextPane中为一些关键字着色。但是我不希望在这些话之后保持相同的风格
while (regexMatcher.find()){
int start = regexMatcher.start();
int end = regexMatcher.end();
document.setCharacterAttributes(start, end-start, style, false);
}
然而,当我在最后一个字符后面点击并键入具有相同样式但又想要更改回默认值的内容时,它会起作用。
我该如何解决这个问题?
答案 0 :(得分:1)
您可以向CaretChangeListener
添加JTextPane
。在每个插入符更新中,您应该清除JTextPane
中安装的EditorKit的输入属性。
MutableAttributeSet inputAttributes=((StyledEditorKit)pane.getEditorKit()).getInputAttributes();
//remove all the unwanted style attributes