Java - 突出显示两个字符之间的文本 - JTextPane

标签 java swing highlighting jtextpane

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

//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();
    }
}

关于Java - 突出显示两个字符之间的文本 - JTextPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15893235/

相关文章:

java - JMenu 在绘制图像的 JPanel 上方留下一个灰色框

java - 如何在 Java 中主动更新 JList

css - Chrome : Text-Only Highlighting

macos - mac删除后自动选择文本

java - 在 Android 中反转十六进制颜色

java - 如何存储二维数组的返回值

Java依赖管理

java - 需要澄清 Oracle 教程解释何时使用迭代器与 for-each 结构

java - JTable 的 Customrenderer 被多次调用

python - wxPython 中的 Pygments?