JTextPane中文本的颜色变化不准确

时间:2017-09-29 07:33:38

标签: java swing jtextpane

尝试使用此代码但不能准确更改颜色,请注意单词停止。当您输入单词时会发生这种情况。

https://i.stack.imgur.com/Wrel4.png

https://stackoverflow.com/a/28773736/7694892

1 个答案:

答案 0 :(得分:1)

在我看来,你的索引有问题。当你移动到第二行时,它会被一个关闭。

这会向我建议您使用textPane.getText()来获取要标记的文本。

解决方案是直接从Document获取文本:

int length = textPane.getDocument().getLength();
String text = textPane.getDocument().getText(0, length);

查看Text and New Lines两种方法之间的区别。

基本上每行的索引都会减1,因为每个换行符都包含“\ r \ n”但文档只包含“\ n”。

如果这没有用,那么你需要自己调试代码,找出错误的原因。