我正在尝试绘制Swing应用程序中的每个组件。
是)我有的:
jButton b = new JButton();
b.addActionListener(e -> fillEntireScreen())
f.add(b);
f.setVisible()...f.setSize()...f.setDefaultCloseOperation()...
其中fillEntireScreen()
只是一个在屏幕上扩展的动画。我重写Component's
paintComponent()
,画在框架上,而不是面板或任何东西。 fileEntireScreen()
没有按钮工作,但是当我添加按钮时不起作用,因为动画在按钮后面。
我该如何在按钮上画画?谢谢!
使用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