gpt4 book ai didi

java - 随机错误突出显示导致 JTextPane(阿拉伯语)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:55 25 4
gpt4 key购买 nike

我正在尝试在我的 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红色圆圈 = 错误结果,绿色圆圈 = 正确结果。

预先感谢您的帮助。

最佳答案

我不知道是否支持使用荧光笔。据我所知,Highlighter 仅供 javax.swing.text.View 及其相关类使用。

我会这样做:

StyledDocument document = textPane.getStyledDocument();
Style highlight = document.addStyle("highlight", null);
StyleConstants.setBackground(highlight, Color.YELLOW);

String text = document.getText(0, document.getLength());
while ((index = text.indexOf(myWord, index)) >= 0) {
document.setCharacterAttributes(index, myWord.length(), highlight, false);
index += myWord.length();
}

关于java - 随机错误突出显示导致 JTextPane(阿拉伯语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com