【问题标题】:How to restart gif animation from the start? JFrames如何从头开始重新启动gif动画?框架
【发布时间】: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 所述。

标签: java swing jframe gif


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2011-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    相关资源
    最近更新 更多