我正在尝试在我的 JTextPane 中搜索和突出显示单词。它非常适用于到目前为止没有很多结果的单词,但是当我尝试搜索一个有很多实例的单词时,有时,荧光笔会突出显示结果,就像它错过了许多字符一样. 无论如何,这是我为此目的使用的代码。
int index = 0;
String text = null;
try {
int length=textPane.getDocument().getLength();
text = textPane.getDocument().getText(0,length);
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
while ((index = text.indexOf(myWord, index)) >= 0) {
DefaultHighlighter.DefaultHighlightPainter highlightPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW);
textPane.getHighlighter().addHighlight(index, index+myWord.length(), highlightPainter);
index += myWord.length();
}
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这是描述问题的屏幕截图 http://i.imgur.com/po6U0rh.png 红圈=错误结果,绿圈=正确结果。
预先感谢您的帮助。