Переопределение метода paint () в JButton - PullRequest
0 голосов
/ 21 февраля 2011

У меня есть класс, который расширяет JButton, потому что пользовательский внешний вид, который я использую, игнорирует вызов isOpaque ().Я имею в виду, что фон кнопки отображается, хотя я назвал setOpaque (false) для нее и всех родительских панелей.Я подтвердил, что это проблема с LAF от дизайнерских компаний, поэтому я ничего не могу сделать, кроме как расширить класс.Итак, мой вопрос, как я могу реализовать метод paint (), чтобы не отображать фон и только значок кнопки?Приветствия

РЕШЕНО: Ответ, который я получил после того, как кто-то заинтересовался, должен был использовать button.setContentAreaFilled(false);

1 Ответ

4 голосов
/ 21 февраля 2011

Рисование выполняется тремя способами: paintComponent, paintBorder и paintChildren. Они вызываются в таком порядке, и это первый, который рисует фон компонента. Если вы перегрузите это и оставите два других, все будет в порядке.

...