我想设置一个gif(不循环,只播放一次)作为几个JLabels的图标(使用setIcon)。问题是:当我将其设置为第一个 JLabel 的图标时,gif 以正常方式播放,但在第二个和其他 JLabel 中仅停留在最后一帧...
我的问题是:如何让 gif 播放任意多次,而不干扰过去的 JLabels?
希望我已经表达了我的观点。
编辑: 我尝试过使用 repaint() 但仍然无法使其工作。
最佳答案
将图像加载为 byte[]
并将其标记为每个标签的单独图像。
如果通过 URL
或 File
加载图像实例,JRE 通常会缓存图像实例,但提供 byte[]
(或 ByteArrayInputStream
) 到加载方法会阻止缓存。
关于java - 在几个JLabel中设置相同的gif作为图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958517/