我使用DefaultHightlighter.DefaultHightlighterPainter
突出显示Java文本窗格中的文本。
我想删除所有突出显示(突出显示可能不止一个字符串),并希望它返回已删除突出显示的字符串的位置,所以显然我不能使用pseudoCodeTextPane.getHighlighter().removeHighlight(highlight);
有人可以帮忙吗?
谢谢
最佳答案
怎么样
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