JTextPane 中的文本颜色更改不准确
Inaccurate color changing of text in JTextPane
尝试使用此代码但它不能准确地改变颜色,请注意停止这个词。当您键入单词时会发生这种情况。
在我看来,您的索引有问题。当您移动到第二行时,它会减一。
我认为您正在使用 textPane.getText()
来标记文本。
一种解决方案是直接从文档中获取文本:
int length = textPane.getDocument().getLength();
String text = textPane.getDocument().getText(0, length);
查看Text and New Lines两种方法之间的区别。
基本上,索引将每行偏移一个,因为字符串包含每个换行符的“\r\n”,但文档仅包含“\n”。
如果这没有帮助,那么您需要自己调试代码以找出偏移量错误的原因。
尝试使用此代码但它不能准确地改变颜色,请注意停止这个词。当您键入单词时会发生这种情况。
在我看来,您的索引有问题。当您移动到第二行时,它会减一。
我认为您正在使用 textPane.getText()
来标记文本。
一种解决方案是直接从文档中获取文本:
int length = textPane.getDocument().getLength();
String text = textPane.getDocument().getText(0, length);
查看Text and New Lines两种方法之间的区别。
基本上,索引将每行偏移一个,因为字符串包含每个换行符的“\r\n”,但文档仅包含“\n”。
如果这没有帮助,那么您需要自己调试代码以找出偏移量错误的原因。