Bonjour tout le monde !
Voila, j'ai un probleme dans mon interface graphique, j'aimerai afficher un gif animé qui montre un bonhomme attaquer a chaque fois que je clique sur le bouton attaquer.
C'est en fait un gif qui ne boucle qu'une seule fois. Mais le probleme c'est que quand je clique sur le bouton le gif ne s'anime que la premiere fois.
J'ai essayer de retourner a mon image defaut.jpg (qui est en fait la 1ere et derniere image de mon gif) a la fin mais ca ne lance pas le gif puisqu'il est aussitot remplacé par le defaut ! Il faudrait peut etre defenir un temps entre les 2 showImage() mais je ne vois pas comment faire !
J'ai aussi essayer de mettre un showImage(defaut.jpg) avant le le showImage du gif mais ca ne change rien !
Je ne suis peut etre pas assez clair, alors voyez plutot :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
private JFrame cadre;
private JLabel image;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
JButton attaquer = new JButton("Attaquer");
//avec attaquer dans un Jpanel
...
attaquer.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) { vie -= 5; println("Il perd 5 pv !"); showImage("attaque.gif");  updateVies(); }});
...
showImage("defaut.jpg");
cadre = new JFrame("Fenetre de Combat");
avec :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public void showImage(String imageName)
    {
        URL imageURL = this.getClass().getClassLoader().getResource("combat/"+imageName);
        if(imageURL == null)
            println("Image non trouv? ou indisponible");
        else
        {
            cadre.repaint(); // ca ne change rien !
            ImageIcon icon = new ImageIcon(imageURL);
            image.setIcon(icon);
            cadre.pack();
        }
    }
Est ce que quelqu'un a une solution pour moi ?
merci.