0

我需要能够突出显示两个字符内的单词。例如, :

//Highlight whatever is in between the two quotation marks
String keyChars = " \" \" ";

我已经为此苦苦挣扎了好几个星期了。我查过它,读过源代码,写过代码,但我还没有弄清楚我是如何做到这一点的。

4

1 回答 1

1

以下代码片段有效。

ed=new JEditorPane();
ed.setText("This \"text\" contains \"quotes\". The \"contents\" of which are highlighted");
Pattern pl;
pl=Pattern.compile("\"");
Matcher matcher = pl.matcher(ed.getText());
int end=0,beg=0;
while(matcher.find())
{
    beg=matcher.start();
    matcher.find(); //finding the next quote
    end=matcher.start();
    DefaultHighlightPainter d =  new DefaultHighlightPainter(Color.YELLOW);
    try {
        ed.getHighlighter().addHighlight(beg+1, end,d);
    } catch (BadLocationException ex) {
        ex.printStackTrace();
    }
}
于 2013-04-09T05:32:00.517 回答