Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重放非循环gif图像_Java_Swing_Animation - Fatal编程技术网

Java 重放非循环gif图像

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 .

我有一个非循环gif,用作两个JLabel的ImageIcon,但不能同时使用

我的问题是,当我将第二个JLabel图标设置为gif时,动画已经播放,因此它只显示最后一帧

您知道当gif设置为第二个JLabel时获取动画的方法吗?

放弃旧答案。在四处搜寻之后,我找到了做这件事的方法

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按钮。不管怎样