Окраска легких компонентов Swing делегирована на вставную визуальную визуализацию. Вот почему вы не видите код окраски в JMenu
.
В случае JMenu
класс, ответственный за окраску, был бы ребёнком javax.swing.plaf.MenuItemUI
. Именно это зависит от того, что вы используете L & F. Например, для Windows L & F делегирует покраску меню для com.sun.java.swing.plaf.windows.WindowsMenuUI
Наверное, самый простой способ для достижения своей цели, чтобы посмотреть на реализацию для конкретного L & F вы хотите расширить, а затем переопределить метод paintComponent()
для выполнения вашей индивидуальной живописи.
Посмотрите на «Performing Custom Painting» за достойное объяснение того, как рисовать пользовательские компоненты.