Bonjour à tous,
Je rencontre actuellement un problème sur l'interface graphique de ma petite application.
Voila j'ai une fenêtre JFrame avec quelques composants, radio, JLabel, JButton... vraiment basic. Dans cette fenêtre j'affiche une image gif animée du style traitement en court, et que je met a .setVisible(false) pour ne pas l'afficher à l'ouverture.
Ensuite, j'ai le code suivant pour gérer l'action de mon bouton:
Or mon traitement dure 1 à 2 min, et je ne vois pas mon gif s'afficher directement aprés le clique sur le bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void actionPerformed(ActionEvent evt) { // recuperation de la source de l'action Object source = evt.getSource(); // si la source est le boutton d'export if (source == export) { monGif.setVisible(true); monTraitement(); } }
Je pense que cela est du au fait que l'ihm soit rafraichie uniquement lorsque le actionPerformed rend la main (je me trompe?).
Comment puis-je forcer l'affichage de mon gif ou rafraichir la fenêtre avant que le actionPerformed me rende la main?
J'ai essayé avec this.repaint(); mongif.repaint(); ... juste aprés le .setVisible(true); mais rien ne marche, le gif n'apparait qu'a la fin. Je ne trouve pas le moyen.
Pourriez-vous m'indiquer la solution à mon pb?
Merci beaucoup.
Cordialement,
Partager