Hyperpenguin
Messages postés16Date d'inscriptionmercredi 23 avril 2008StatutMembreDernière intervention30 juillet 2009
-
12 juin 2008 à 13:54
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 2014
-
12 juin 2008 à 15:48
Bonjour a tous,
Voilà je vous expose mon probleme, j'ai un JDialog que j'ai modifié pour en faire un écran de connexion, l'utilisateur doit rentrer ses données , cliquer sur le bouton connecter, puis cette boite de dialogue disparait et laisse apparaitre un autre dialogue qui me sert d'écran de chargement: j'y fait apparaitre differents textes selon l'avancement. Pour cela j'ai créer un Thread dans mon 1er jDialog qui initialise tout dans mon programme et envoi le texte a mon écran de chargement. Mais lorsqu'une erreur survient, je veux faire apparaitre un JOptionPane d'erreur, mais a sa création je ne peut pas mettre "this" pour le composant auquel il est rataché, puisque "this" se refere au Thread.Ma question est donc:
Comment, de l'intérieur d'un thread, peut-on faire référence a la classe qui contient le thread?
Voilà, j'espère avoir été claire, et je vous remercie d'avance pour vos réponses.
-Le java, c'était plus facile en cours....-
A voir également:
Obtenir la classe qui lance un thread, à partir du thread
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 12 juin 2008 à 14:26
Si tu veux JOptionPane est une classe à part. Tu l'appeles et tu lui dis "Tiens la fenetre de message vas etre fille à ma classe principale NomDeMaClasse". Ensuite, tu dis que tu veux l'instance actuelle de ta classe, c'est pour ça que tu préfixes par .this
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 12 juin 2008 à 15:48
Si this désigne l'instance en cours d'execution, alors dans un environnement multithread MaClasse.this désigne aussi l'instance en cours d'execution.
C'est-à-dire que si plusieurs instances de MaClasse sont en cours d'execution, MaClasse.this désignera uniquement celle en cours d'execution et pas forcement le parent du thread appelant.
Si cette astuce marche, je pense qu'elle fonctionnne uniquement en environnement monothread.
A confirmer...