我想设置一个gif(没有循环,只播放一次)作为几个JLabel的图标(使用setIcon)。问题是:当我把它设置为第一个JLabel的图标时,gif以正常方式播放,但是在第二个中,其他的只是停留在最后一帧......
我的问题是:如何在不干扰过去的JLabel的情况下,让我的GIF播放次数达到我想要的次数?
希望我已经说明了我的观点。
编辑: 我尝试过使用repaint()但仍然无法使用它。
答案 0 :(得分:4)
将图像加载为byte[]
并将其标记为每个标签的单独图像。
如果由URL
或File
加载,JRE通常会缓存图像实例,但是为加载方法提供byte[]
(或ByteArrayInputStream
)会阻止缓存。