Bonjour bonjour,

Lorsque j'instancie ma classe SynchroFrame à partir du main pas de problème. Par contre si je la démarre en cliquant sur un bouton d'une autre fenêtre ça ne fonctionne pas "correctement".

Cette fenêtre affiche un premier panel indiquant à l'utilisateur de patienter. Lorsque le travail est fini, le second panel s'affiche.

A partir du main donc, pas de problème : les deux panels s'affichent successivement.
Dans le seconde cas : le premier panel ne s'affiche pas ( la fenêtre reste grise ) et après le chargement le second panel s'affiche.

Code du constructeur de SynchroFrame extends JFrame (singleton ), des méthodes waiting et start:
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
26
 
private SynchroFrame() {
        super();
        setVisible(true);
        setSize(500, 300);
        this.setTitle("Synchronisation");
 
        //affichage du premier panel
        waiting();
        //chargement des données
        initConnections();
        //remplacement avec un second panel
        start();
    }
 
private void waiting()
    {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setContentPane(getWaitingPanel());
    }
 
private void start() {
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        setContentPane(getSynchroPanel());
        validate();
    }
J'ai essayé les repaint() et autre validate() en désespoir de cause, en vain...

Si quelqu'un a une idée ... Merci d'avance...