IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

showMessageDialog Bloquant execution du code


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Par défaut showMessageDialog Bloquant execution du code
    Salut,

    J'utilise la méthode showMessageDialog de JOptionPane (dans une applet) et je me suis apercu que lorsque la fenetre JOptionPane s'affiche, le code continue de s'executer.
    Que faut il utiliser pour bloquer l'execution du code jusqu'a ce que l'utilisateur clique sur le bouton ok de la fenetre de dialogue ?

    Merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par MrEddy
    J'utilise la méthode showMessageDialog de JOptionPane (dans une applet) et je me suis apercu que lorsque la fenetre JOptionPane s'affiche, le code continue de s'executer.
    Toutes les méthodes showXXX() de JOptionPane sont modale et bloquent le thread courant...

    si ton code continue a s'exécuter cela signifie qu'il est exécuté dans un autre thread...


    a++

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Par défaut
    Effectivement je lance cette méthode dans un code qui est lancé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SwingUtilities.invokeLater(
    						new Runnable()
    						{
    							public void run()
    							{
     
    							}
    						}
    );
    Cette méthode s'execute dans un autre thread alors ? le swing thread ou qq chose comme ca ?

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par MrEddy
    Cette méthode s'execute dans un autre thread alors ? le swing thread ou qq chose comme ca ?
    Oui : l'EDT (Event Dispatch Thread), qui ne doit être utilisé que pour mettre à jour l'affichage...


    Plus d'info : Threads et performance avec Swing


    a++

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/12/2005, 18h28
  2. batch qui execute du code
    Par fbu78 dans le forum Access
    Réponses: 2
    Dernier message: 21/09/2005, 22h31
  3. Executer du code binaire au sein d'un programme
    Par Hidekii dans le forum MFC
    Réponses: 13
    Dernier message: 07/09/2005, 22h10
  4. [FLASH MX2004] Rien ne se passe qd j'execute mon code
    Par adilou1981 dans le forum Flash
    Réponses: 2
    Dernier message: 27/07/2005, 23h31
  5. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo