Utilisation de SwingUtities.innvokeLater
Bonjour
J'essais de mettre sur pied une appli toute bete d'Agenda pour débuter avec SWING.
J'ai lu dans un tuto que l'on appelé le constructeur de la fenetre dans un bloc d'instruction qui est a mes yeux un peu obscur. L'histoire de thread et d'EDT est flou pour moi.
J'ai donc codé un truc dans ce gene :
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 26 27 28 29
|
public gestionnaire(){
utilisateur = null;
this.fenetreLogin = null;
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre JDialog
fenetreLogin = new fenetreLogin(utilisateur);
fenetreLogin.setVisible(true);
}
});
while (! this.fenetreLogin.isLogged()){
}
SwingUtilities.invokeLater(new Runnable(){
public void run(){
//On crée une nouvelle instance de notre JDialog
fenetrePrincipale = new fenetrePrincipale(utilisateur);
fenetrePrincipale.setVisible(true);//On la rend visible
}
});
} |
Bien sur cela ne marche pas.
Le résultat que je soouhaite c'est :
- Avoir une fenetre ou l'utilisateur saisie son user + pass
- Lors de l'appuie sur valide des control sont effectué (recherehce dans un fichier si le User est ok)
- Si user KO alors on met un message et on reste sur la fenetre de login
Si user OK ouverture d'une nouvelle fenetre avec mon appli principale.
Je m'y prend certainement très mal donc j'espere que vous saurez m'aiguiller dans le droit chemin.