Java: 播放一次GIF

Java: Playing a GIF once

所以我是 Java 的新手,我目前正在尝试制作回合制角色扮演游戏。我能够将空闲动画添加为 JLabel,当我单击 "attack" 按钮时,我希望 attack.gif 播放一次,return 播放 idle.gif。有什么办法可以设置吗?

代码示例:

    if(source == menu.attack) {
        //disabling the attack button for the duration of the animation
        menu.attack.setEnabled(false);

        //setting the idle animation to invisible
        menu.idle.setVisible(false);
        //setting the attack animation to visible
        menu.attack.setVisible(true);


        player.attack(enemy, menu);
        update(player, enemy, menu);
        }

使用不同的Thread,来控制动画状态;

一条建议:

public void doAttackAnimation(){
   new Thread(()-> {
         setIcon("Your Attack Animation");
         sleep(durationOfAnimation);
         setIcon("default Animation");
      }).start();
}