Java 默认荧光笔

标签 java swing user-interface jtextpane

我使用 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/

相关文章:

java - 创建基类对象时的运行时多态性

java - JDialog标题的字体大小

Android seekbar如何在短时间内阻止拖动/禁用它

java - 如何实现滚动到底部时刷新的 JTable

c# - 我应该如何在 .NET 中安排我的项目/类以避免循环依赖

java - 如何在java中使用apache tika从PDF文件中获取页眉和页脚

java - JPanel 设计问题

java - 尝试在 spring 中设置外部化属性

java - 如何处置 JFileChooser

java - 使用 for 循环将 JPanel 添加到 JFrame