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

问题描述 投票:1回答:1

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

是)我有的:

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

其中fillEntireScreen()只是一个在屏幕上扩展的动画。我重写Component's paintComponent(),画在框架上,而不是面板或任何东西。 fileEntireScreen()没有按钮工作,但是当我添加按钮时不起作用,因为动画在按钮后面。

我该如何在按钮上画画?谢谢!

java eclipse swing awt
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.