Swing: как нарисовать анимацию для каждого компонента, JPanel, JButton и т. Д.? - PullRequest
1 голос
/ 06 апреля 2019

Я пытаюсь закрасить каждый компонент в моем приложении Swing.

что у меня есть:

jButton b = new JButton();
b.addActionListener(e -> fillEntireScreen())
f.add(b);
f.setVisible()...f.setSize()...f.setDefaultCloseOperation()...

, где fillEntireScreen() - это просто анимация, которая распространяется на весь экран.Я переопределяю Component's paintComponent(), рисуя поверх рамки, а не панели или чего-либо еще.fileEntireScreen() работает без кнопки, но не работает, когда я добавляю кнопку, поскольку анимация находится за кнопкой.

как можно нарисовать поверх кнопки? Спасибо!

1 Ответ

1 голос
/ 06 апреля 2019

Используйте glassPane вместо этого - см. Как использовать корневые панели для получения более подробной информации и Как можно рисовать в определенном JPanel, когда более одного в одном кадре - Java для пример.

В качестве альтернативы вы можете использовать JLayer, но это более сложно и может не соответствовать вашим потребностям. См. Как декорировать компоненты с помощью класса JLayer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...