我正在尝试在Swing应用程序中的每个组件上绘制。
我有什么:
jButton b = new JButton();
b.addActionListener(e -> fillEntireScreen())
f.add(b);
f.setVisible()...f.setSize()...f.setDefaultCloseOperation()...
其中fillEntireScreen()
只是一个在屏幕上扩展的动画。我覆盖Component's
paintComponent()
,在框架上绘画,而不是面板或其他任何东西。
fileEntireScreen()
在没有按钮的情况下有效,但是在添加按钮时却无效,因为动画位于按钮的后面。
如何在按钮上绘制? 谢谢!
答案 0 :(得分:1)
改为使用glassPane
-有关更多详细信息,请参见How to Use Root Panes,有关示例,请参见How can I paint in an specific JPanel when more than one in same frame- Java。
或者,您可以使用JLayer
,但更为复杂,可能无法满足您的需求。参见How to Decorate Components with the JLayer Class