2016-12-29 14 views
-1

Где я могу найти код или как создать код для репликации JMenu в методе paintComponent с использованием пользовательского класса, который расширяет JMenu?Репликация JMenu в paintComponent ребенка

Я просмотрел jdk и не могу найти код для рисования JMenu в своем классе или любом из его родителей.

Мне просто нужен код для размещения текста и значка.

ответ

0

Окраска легких компонентов 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» за достойное объяснение того, как рисовать пользовательские компоненты.