java - JTextPane 中文本颜色更改不准确

标签 java swing jtextpane

尝试使用此代码,但它不能准确地改变颜色,请注意“停止”一词。当您键入单词时就会发生这种情况。

/image/Wrel4.png

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/

相关文章:

java - JDialog - 如何使回车键响应按钮焦点在对话框上

java - 使多个 JTextFields 改变颜色 Java

java - 如何使图像链接在 JtextPane 中工作?

java - 查找列表是否包含另一个列表的每个元素的最佳优化方法是什么?

java - Eclipse 代码在 git 中没有正确缩进

java - jnlp:从服务器读取属性文件

java - 带有图像背景和文本对齐的 JButton

java - 如何创建格式化文本以在 Java Swing 组件(JTextPane、JEditorPane...)中显示

java - 如何在 JTextPane 上设置不同的行?

java - 颜色状态列表不适用于 recyclerview textview