我使用 DefaultHightlighter.DefaultHightlighterPainter
突出显示 Java 文本 Pane 中的文本。
我想删除所有突出显示(可能有多个突出显示的字符串)并希望它返回突出显示已被删除的字符串的位置,所以显然我不能使用
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
关于Java 默认荧光笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9078275/