Java Swing. Выделите фон всей линии JTextPane, используя стиль (не класс Highlighter)

Как настроить стиль, чтобы сделать подсветку всего фона строки. Как и в большинстве 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!
}

1 ответ

Решение

Как и в большинстве IDE - цвет фона текущей строки отличается от фона другого кода.

Один из способов сделать это - использовать Painter, По умолчанию Painter выделит только область, содержащую текст в строке. Таким образом, пользовательский художник должен будет выделить фон от начала / конца строки.

Подсветка должна будет меняться при перемещении каретки от строки к строке.

Проверьте Line Painter для пользовательского класса живописца, который содержит вышеупомянутую функциональность.

Другие вопросы по тегам