【问题标题】:Remove Hightlight matching String content移除高亮匹配字符串内容
【发布时间】:2013-10-18 06:44:14
【问题描述】:
【问题讨论】:
标签:
java
string
libraries
highlight
jtextarea
【解决方案1】:
您可以编写一个方法来获取给定荧光笔的文本:
private static String highlightedText(Highlight h, Document d) {
int start = h.getStartIndex();
int end = h.getEndIndex();
int length = end - start;
return d.getText(start, length);
}
那么您的 removeHighlights 方法将如下所示:
public void removeHighlights(JTextComponent c, String toBlackOut) {
Highlighter highlighter = c.getHighlighter();
Highlighter.Highlight[] highlights = h.getHighlights();
Document d = c.getDocument();
for (Highlighter.Highlight h : highlights)
if (highlightedText(h, d).equals(toBlackOut) && h.getPainter() instanceof TextHighLighter)
highlighter.removeHighlight(h);
}