我有一个imageIcon作为Button,现在我会在翻转时为其设置动画 . 我试图在setRolloverIcon(Icon)上使用动画gif(没有循环) . 但当我再次悬停在按钮上时,gif不再播放了 . 当我使用循环gif然后它从随机帧播放它 . 我尝试使用paintComponent将Shape或图像绘制为Button,它工作正常,但即使我使用setPreferredSize()或setSize()或setMaximumSize(),Button也会使用其默认大小,如图所示(中间)按钮) . 我使用GroupLayout,这可能是问题吗?
1 回答
似乎工作对我来说很好......
我使用了以下图标......(png和gif)......
我刚刚意识到你使用的是非循环gif . 这意味着您将尝试“重置”以重新开始播放 .
尝试使用像
icon.getImage().flush();
这样的东西,其中icon
是你的ImageIcon
. 您将不得不将MouseListener
附加到该按钮以检测mouseEnter
事件并重置ImageIcon
...