Java默认荧光笔
问题描述:
我使用DefaultHightlighter.DefaultHightlighterPainter
突出显示Java文本窗格中的文本.
我想删除所有突出显示(突出显示可能不止一个字符串),并希望它返回已删除突出显示的字符串的位置,所以显然我不能使用
pseudoCodeTextPane.getHighlighter().removeHighlight(highlight);
Im using the DefaultHightlighter.DefaultHightlighterPainter
to highlight text within a java text pane.
I want to remove all highlights (there could be more than one string highlighted) and want it to return the locations of the strings where the highlight has been removed, so obviously I cant use
pseudoCodeTextPane.getHighlighter().removeHighlight(highlight);
任何人都可以帮忙吗? 谢谢
Can anyone help? Thanks
答
类似的东西
Highlighter.Highlight[] highlights = pseudoCodeTextPane.getHighlighter().getHighlights();
int[] startOffsets = new int[highlights.length];
int[] endOffsets = new int[highlights.length];
for (int i = 0; i < highlights.length; ++i) {
startOffsets[i] = highlights[i].getStartOffset();
endOffsets[i] = highlights[i].getEndOffset();
}
pseudoCodeTextPane.getHighlighter().removeAllHighlights();
// now do whatever processing you want to do with the highlight locations