Probleme de reactualisation de JLabel
Bonjour à tous !
Alors voila mon problème, je souhaite faire une animation par l'intermédiaire de mes JLabel et changeant leur image toutes les X secondes mais lorsque j'execute ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public void afficher(String[][] plat, int i , int j){
if(plat[j][i].equals(charJ1)){
for(int x = 5; x>j-1;x--){
try {
plateau[x][i].setIcon(new ImageIcon(imageJ1));
Thread.sleep(800);
plateau[x][j].setIcon(new ImageIcon(imageVide));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
plateau[i][j].setIcon(new ImageIcon(imageJ1));
} else if (plat[j][i].equals(charJ2)){
for(int x = 0; x>j-1;x--){
try {
plateau[x][i].setIcon(new ImageIcon(imageJ2));
Thread.sleep(800);
plateau[x][j].setIcon(new ImageIcon(imageVide));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
plateau[i][j].setIcon(new ImageIcon(imageJ2));
}
} |
L'affichage ce fait en une seule fois lorsque la méthode s'est finie.
Comment pourrais-je faire pour que les modifications soient visibles en "temps réel" ?
J'ai regardé afin d'utiliser la méthode invokeAndWait() mais je ne vois pas comment l'intégrer à mon code.
En espérant avoir été clair.
Merci d'avance pour votre aide !