我需要能够突出显示两个字符内的单词。例如, :
//Highlight whatever is in between the two quotation marks
String keyChars = " \" \" ";
我已经为此苦苦挣扎了好几个星期了。我查过它,读过源代码,写过代码,但我还没有弄清楚我是如何做到这一点的。
我需要能够突出显示两个字符内的单词。例如, :
//Highlight whatever is in between the two quotation marks
String keyChars = " \" \" ";
我已经为此苦苦挣扎了好几个星期了。我查过它,读过源代码,写过代码,但我还没有弄清楚我是如何做到这一点的。
以下代码片段有效。
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();
}
}