Swing:如何在每个组件,JPanel,JButton等上绘制动画?

时间:2019-04-06 05:39:12

标签: java eclipse swing awt

我正在尝试在Swing应用程序中的每个组件上绘制。

我有什么:

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

其中fillEntireScreen()只是一个在屏幕上扩展的动画。我覆盖Component's paintComponent(),在框架上绘画,而不是面板或其他任何东西。 fileEntireScreen()在没有按钮的情况下有效,但是在添加按钮时却无效,因为动画位于按钮的后面。

如何在按钮上绘制 谢谢!

1 个答案:

答案 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