Bonjour,

Dans mon programme, j'ai une action qui est plutôt longue a exécuter, je souhaiterais donc afficher un gif dans un window représentant un chargement durant son exécution.

Mon soucis c'est que mon gif apparait uniquement une fois que mon programme a fini de s'exécuter et non pas des le début de son exécution comme je le voudrais.

Voici le code de mon gif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 class FenetreTransparente extends JWindow {
    public FenetreTransparente() {
 
        setBackground(new Color(0,0,0,0));//rend l'arriere plan transparent
        setSize(new Dimension(300,200));
        setLocationRelativeTo(null);        
        setLayout(new GridBagLayout());
        Icon icon = new ImageIcon(FenetreTransparente.class.getResource("/javagui/icon/Chargement.gif"));
        JLabel label = new JLabel(icon);        
        add(label);
    }
}
Voici le code ou j'ai besoin de le faire apparaitre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
radioButton = new JRadioButton();
			radioButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					FenetreTransparente gtw = new FenetreTransparente();
			        gtw.setVisible(true);
			        gtw.setAlwaysOnTop(true);
			        gtw.repaint();
			        gtw.revalidate();
 
					if (!ping()) {					
						lbStatut.setIcon(new ImageIcon(PanelChoixUser.class.getResource("/javagui/icon32x32/offline.png")));
						btnController.setEnabled(false);
						btnInstaller.setEnabled(false);
					}
					else
					{
						lbStatut.setIcon(new ImageIcon(PanelChoixUser.class.getResource("/javagui/icon32x32/online.png")));
						cible = lesResultats[kfinal][0]; 
						btnController.setEnabled(true);
						btnInstaller.setEnabled(true);
					}
					//gtw.setVisible(false);	
 
				}
			});
Ainsi je souhaiterais faire apparaitre le gif durant que le ping s’exécute mais il ne s'affiche seulement une fois que toute les actions sont finis. Pourriez vous me dire comment procéder ?