在java swing中突出显示jeditorpane中的一些单词

在java swing中突出显示jeditorpane中的一些单词,java,swing,awt,jeditorpane,swing-highlighter,Java,Swing,Awt,Jeditorpane,Swing Highlighter,我正在开发一个swing应用程序,其中必须在JEditorPane中显示HTML文件。我必须突出显示一些文本,例如所有出现的boy。我正在使用以下代码 但它突出显示了《绝地武士》的全文: try { javax.swing.text.DefaultHighlighter.DefaultHighlightPainter highlightPainter = new javax.swing.text.DefaultHighlighter.DefaultH

我正在开发一个swing应用程序,其中必须在
JEditorPane
中显示HTML文件。我必须突出显示一些文本,例如所有出现的boy。我正在使用以下代码 但它突出显示了《绝地武士》的全文:

try
{          
    javax.swing.text.DefaultHighlighter.DefaultHighlightPainter highlightPainter = 
        new javax.swing.text.DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW);
    textPane.getHighlighter().addHighlight(startPos, endPos, 
    highlightPainter);
}
catch(Exception ex)
{
}
但它突出了整个文件。在这种方法中,角色是什么
startPos
endPos

您必须首先定义关键字,这意味着您需要迭代整个内容,当关键字相等时,添加并突出显示它。除了JeditorPane外,您不需要为您识别关键字。

请看一下@mKorbel的精彩文章,这些可能会有所帮助。此外,您在这里谈论的是
Swing
,而不是
awt
,因此最好也为Swing添加标记。FWIW:Writing
catch(Exception ex){}
肯定会让您有一天头疼不已。。。切勿写入空的“捕获异常”块。始终留下一个跟踪(一个日志,一条消息到控制台…)还有@driodev这是问题的答案。它根本不要求澄清。@Servy转到该评论链接并查看。不仅是我的comment@driodev所以,因为其他人也从评论中选择了错误的行为,这没关系吧?不是这样的。如果我也能回答他们,我会的。