在几个JLabel中设置相同的gif作为图标

时间:2012-10-18 15:43:52

标签: java swing jlabel gif

我想设置一个gif(没有循环,只播放一次)作为几个JLabel的图标(使用setIcon)。问题是:当我把它设置为第一个JLabel的图标时,gif以正常方式播放,但是在第二个中,其他的只是停留在最后一帧......

我的问题是:如何在不干扰过去的JLabel的情况下,让我的GIF播放次数达到我想要的次数?

希望我已经说明了我的观点。

编辑: 我尝试过使用repaint()但仍然无法使用它。

1 个答案:

答案 0 :(得分:4)

将图像加载为byte[]并将其标记为每个标签的单独图像。

如果由URLFile加载,JRE通常会缓存图像实例,但是为加载方法提供byte[](或ByteArrayInputStream)会阻止缓存。