如何从头开始重新启动gif动画?框架

Posted

技术标签:

【中文标题】如何从头开始重新启动gif动画?框架【英文标题】:How to restart gif animation from the start? JFrames 【发布时间】:2020-04-09 23:43:42 【问题描述】:

当按下按钮时,我正在尝试获取一个 gif,以便在动画中途从头开始重新启动。我该怎么做?

我试过这些方法:

lblDeath.setIcon(new ImageIcon(MainGame.class.getResource("/azzets/blank.png")));
lblDeath.setIcon(new ImageIcon(MainGame.class.getResource("/azzets/3 Seconds.gif")));
lblDeath.setVisible(false);
lblDeath.setIcon(new ImageIcon(MainGame.class.getResource("/azzets/3 Seconds.gif")));
lblDeath.setVisible(true);

(3 秒 gif 是我试图重新启动的那个)

谢谢。

【问题讨论】:

尝试在ImageIconImage 上使用flush。但是,如果您多次使用相同的图像,您可能需要小心这一点,如 here 所述。 【参考方案1】:

确实,如评论部分所述,您可以将flush() 用于标签的图标图像:

ImageIcon icon = (ImageIcon) gifLabel.getIcon();
Image img = icon.getImage();
ImageIcon newIcon = new ImageIcon(img);
img.flush();
gifLabel.setIcon(newIcon);

【讨论】:

以上是关于如何从头开始重新启动gif动画?框架的主要内容,如果未能解决你的问题,请参考以下文章

重新启动动画 GIF 作为背景图像

如何通过在 svg 中保存开始时间来重新启动动画

从数据流重新启动后,Spring 批处理从头开始

重新启动 kafka 连接接收器和源连接器以从头开始读取

如何重新启动应用程序上的所有数据? [复制]

这是从头开始SVG元素中的重新开始吗?