Java 重放非循环gif图像
我有一个非循环gif,用作两个JLabel的ImageIcon,但不能同时使用 我的问题是,当我将第二个JLabel图标设置为gif时,动画已经播放,因此它只显示最后一帧 您知道当gif设置为第二个JLabel时获取动画的方法吗?好 放弃旧答案。在四处搜寻之后,我找到了做这件事的方法Java 重放非循环gif图像,java,swing,animation,Java,Swing,Animation,我有一个非循环gif,用作两个JLabel的ImageIcon,但不能同时使用 我的问题是,当我将第二个JLabel图标设置为gif时,动画已经播放,因此它只显示最后一帧 您知道当gif设置为第二个JLabel时获取动画的方法吗?好 放弃旧答案。在四处搜寻之后,我找到了做这件事的方法 ImageIcon icon = ..[the animated gif without looping].. .... label1.setIcon(icon); //animation plays once .
ImageIcon icon = ..[the animated gif without looping]..
....
label1.setIcon(icon); //animation plays once
....
// now time to remove icon from label1 and add it to label2
label1.setIcon(null);
icon.getImage().flush(); //reset resource used by the image
label2.setIcon(icon);
....
顺便说一句,如果您离开行
label1.setIcon(null)代码>输出它仍将仅为label2重复图标的动画。标签1保持在最后一帧 在新创建的图标上尝试使用:
icon.getImage().flush();
您是在谈论Swing应用程序还是web?使用JLabel(Swing组件)标记Java。。首先:Eclipse说:loadImage()对于imageIcon不可见。第二:不起作用(只显示最后一帧)。lol也准备了一段时间相同的答案。但是只是在做了一些测试之后才隐藏了saveedit按钮。不管怎样