【问题标题】:Hightlighting selected text with rows in Java(Swing)用Java(Swing)中的行突出显示选定的文本
【发布时间】:2014-12-06 11:41:49
【问题描述】:

当我选择两行或更多行时,如何在 swing(JTextPane) 中突出显示(Highlighter) 而不仅仅是文本(带行)。我需要像 Intellij IDEA 一样突出显示选择。

SwingUtilities.invokeLater(new Runnable() {
    JTextPane textPane = new JTextPane();
    JScrollPane textPaneWithScroll = new JScrollPane(textPane);
    this.getContentPane().add(textPaneWithScroll);
    this.setVisible(true);
});

Screenshot

【问题讨论】:

  • 你必须提供更多细节——是关于swing、html等吗?
  • @home 根据标签,是关于swing
  • @msrd0:谢谢,该标签已在稍后添加。 IMO 细节仍然缺失。是关于桌子等的吗?一些代码也可能会有所帮助。
  • @home 是的,没错,问题还是没用
  • @home:对不起。我更改了问题的描述。

标签: java swing highlight


【解决方案1】:

我猜你希望突出显示扩展到文本窗格的右侧。

如果是这样,那么您可以使用:

DefaultHighlighter highlighter =  (DefaultHighlighter)textPane.getHighlighter();
highlighter.setDrawsLayeredHighlights(false);

当您将突出显示添加到文本窗格时,偏移量必须比行上的最后一个字符大一,以便换行符包含在突出显示中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2011-07-19
    相关资源
    最近更新 更多