尝试使用此代码,但不能准确更改颜色,请注意“停止”一词。这是在您键入单词时发生的。
https://stackoverflow.com/a/28773736/7694892
最佳答案
在我看来,您的索引有问题。当您移至第二行时,它被一个关闭。
这将向我建议您正在使用textPane.getText()
来获取要标记化的文本。
一种解决方案是直接从文档中获取文本:
int length = textPane.getDocument().getLength();
String text = textPane.getDocument().getText(0, length);
查看Text and New Lines两种方法之间的区别。
基本上,每行索引将减少一个,因为字符串的每个换行符都包含“ \ r \ n”,而文档仅包含“ \ n”。
如果这样做没有帮助,那么您需要对代码进行调试,以找出偏移量错误的原因。
关于java - JTextPane中文本的颜色更改不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46483946/