Java 摇摆。使用样式突出显示整行 JTextPane 的背景(不是荧光笔 class)

Java Swing. Highlight background of whole line JTextPane using Style(not Highlighter class)

如何配置样式使整行背景高亮显示。与大多数 IDE 一样 - 当前行背景颜色与其他代码背景不同。

像这样:

private static final Style CURRENT_LINE = styleContext.addStyle("currentLine", defaultStyle);
static {
    StyleConstants.setBackground(CURRENT_LINE, Color.LIGHT_GRAY);
    StyleConstants.setEnd(Style.LINE_END); // This method does't exist!
}

Like in most of IDE - current line background color is different to other code background.

一种方法是使用自定义 Painter。默认的Painter只会高亮包含行上文字的区域。因此自定义画家将需要从行的 start/end 突出显示背景。

突出显示需要随着插入符从一行移动到另一行而改变。

查看 Line Painter 包含上述功能的自定义画家 class。