Swing:如何在每个组件、JPanel、JButton 等上绘制动画?
Posted
技术标签:
【中文标题】Swing:如何在每个组件、JPanel、JButton 等上绘制动画?【英文标题】:Swing: how to paint an animation over every component, JPanel, JButton, etc? 【发布时间】:2019-08-27 23:56:46 【问题描述】:我正在尝试在我的 Swing 应用程序中绘制每个组件。
我有什么:
jButton b = new JButton();
b.addActionListener(e -> fillEntireScreen())
f.add(b);
f.setVisible()...f.setSize()...f.setDefaultCloseOperation()...
fillEntireScreen()
只是一个在屏幕上展开的动画。我覆盖Component's
paintComponent()
,在框架上绘画,而不是面板或任何东西。
fileEntireScreen()
可以在没有按钮的情况下工作,但在我添加按钮时不起作用,因为动画在按钮后面。
如何在按钮上绘制 ? 谢谢!
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Swing:如何在每个组件、JPanel、JButton 等上绘制动画?的主要内容,如果未能解决你的问题,请参考以下文章