Я пытаюсь закрасить каждый компонент в моем приложении Swing.
что я имею:
jButton b = new JButton();
b.addActionListener(e -> fillEntireScreen())
f.add(b);
f.setVisible()...f.setSize()...f.setDefaultCloseOperation()...
где fillEntireScreen() просто анимация, которая расширяется по экрану. Я перекрашиваю Component'spaintComponent(), закрашивая рамку, а не панель или что-то еще.
fileEntireScreen() работает без кнопки, но не работает когда добавляю кнопку, так как анимация находится за кнопкой.
как мне нарисовать над кнопкой? Спасибо!




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