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 :

Attente résultat thread


Sujet :

AWT/Swing Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut Attente résultat thread
    Bonjour,

    Je fais un travail en java pour on école où nous avons du commencer par développer un programme en commande texte, puis maintenant on nous demande d'ajouter un interface graphique qui réutilise les commandes du premier programme.
    Or à un moment, le programme texte me retourne une liste de nom, que je fais apparaître dans ma gui, mais j'aimerais que le programme texte attende le résultat du choix de l'utilisateur dans la gui, défini par un clique sur un bouton, mais je n'y arrive pas.

    J'ai essayé de mettre un wait(), un sémaphore, une queue, mais chaque fois, cela bloque la gui et non pas la commande texte.

    Le programme texte et la gui sont 2 threads différents.

    Code :
    Bouton de la gui qui lance ma méthode download :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    peerServerButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				pc1.download(true);
    			}
    		});
    Code du programme texte :
    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
     
    int choix = -1;
    				if(isGui){
    					try {
    						//available.acquire(); OU
    						synchronized (this) {
    							this.wait();
    						}
    						choix = choices[choices.length];
    					}
    					catch (InterruptedException e) {
    						choix = choices[choices.length]; // en cas de wait()
    					}
    				}
    				else{
    					do {
    						choix = scanner.nextInt();
    					} while (choix > nbPS || choix < 0);
    				}
    Comment puis-je faire ?

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Je ne comprends pas bien tout le processus de ton programme, mais si tu utilises un dialogue modal, le code ne passe pas à la suite tant que le dialogue n'est pas fermé.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut
    Merci pour la réponse, mais un Dialog modal m'empêche simplement l'interaction avec les autres fenêtres, alors que moi je souhaite mettre un pause un thread depuis un autre thread.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Par défaut
    J'ai réussi a outre passer ceci en mettant un switch dans ma méthode, merci quand même.

Discussions similaires

  1. attente du thread principal
    Par jojo_ol76 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 30/06/2011, 00h42
  2. attente du thread UI
    Par jojo_ol76 dans le forum Android
    Réponses: 5
    Dernier message: 22/06/2011, 09h18
  3. Réponses: 8
    Dernier message: 22/05/2010, 11h50
  4. Mise en attente du thread principal
    Par chris78 dans le forum EDT/SwingWorker
    Réponses: 1
    Dernier message: 15/03/2010, 14h53
  5. Mise en attente de threads
    Par Griswold dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/10/2009, 15h21

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