我做的是一个阅读器
黑色的背景,白色的字。关键字用红色标识
出现的问题是:
第一次textPane加载的文字长度800,而且标识红色的位置在760
刷新文字后,textPane加载的文字长度300,这时就出现问题了,不仅关键字是红色,所有字符都是红色了
解决方法:在修改文字颜色前,先加以下代码
//先还原颜色
//这个bug出现在文字切换时,如果上一次标识的位置大于这一次文本的长度,颜色上就出现问题
MutableAttributeSet white = new SimpleAttributeSet();
StyleConstants.setForeground(white,Color.white);
doc.setCharacterAttributes(0,10000, white, true);