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

Langage Java Discussion :

Sortir d'une boucle while


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut Sortir d'une boucle while
    Bonjour

    J'ai créer une interface graphique java dans laquelle j'ai plusieurs boutons.
    Lorsque j'appuie sur un des boutons je rentre dans une boucle while "infini" (voulu) de laquelle je voudrais sortir que j'appuie sur un des autres boutons. Comment pourrais-je écrire ce code a l'interieur du premier bouton ?
    Voici le code :
    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
     
    private JButton getJButtonjoue() {
            if (jButtonjoue == null) {
                jButtonjoue = new JButton();
                jButtonjoue.setText("GO");
                jButtonjoue.setBounds(new Rectangle(81, 58, 88, 53));
                jButtonjoue.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent e) {
                        System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                    joue =1 ;
     
     
                    while (joue==1){
                            try { InputStream stream = new ByteArrayInputStream(player.getSamples());
                                player.play(stream);                         
                            } catch (Exception uneErreur) {
                            }
     
                        }
                    }
                });
            }
            return jButtonjoue;
        }
    Merci

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    1) Fait toi une variable globale que tu change dans l'action du second bouton.
    2) Fait toi un object que tu check dans la boucle et change dans l'action du second bouton.
    3) Fait toi une variable de Session.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut
    en fait cette variable c'est la variable "joue" que je met a 0 sur le second bouton. Le probleme c'est que je ne peux pas clier sur le second bouton puisque je suis toujours dans la boucle du premier bouton.

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Il faut, en plus de ce que te dis vermine, que tu lances ta boucle while dans un thread séparé.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 25
    Par défaut
    Merci, je commence a comprendre, je suis vraiment un novice, mais qu'est ce que cela signifie un thread séparé ?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Il y a un thread (AWT) qui vérifie continuellement la pile d'évènement et dispatche vers les différents composant. Ca signifique que, quand tu est dans ton action listener, tu est exécuté par le thread awt. Ca signifie aussi que, tant que tu n'aura pas fini ton travail ce listener, aucun évènement ne pourra être pris en compte (Pas de clics, pas d'appui clavier, meme pas de rafraichissement de le fenêtre).

    Ton problème est donc que, tu dosi créer un nouvel objet étendant Thread, dans lequel tu srcharge la méthode run(), et dans laquelle tu fait ta boucle infinie. ensuite tu fais un start() sur ce thread dans ton actionlistener. C'est obligatoire pour déplacer l'exécution en dehors du thread AWT. La gestion des évènement présuppose que l'opération effectuée dans les listener sera "courte". Quand ce n'est pas la cas (comme toi) on délègue à un Thread séparé qui qui effectuera l'opération en parallèle.

    Pour plus d'infos sur les threads, voire les tutoriaux de ce site.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/12/2012, 19h52
  2. [AC-2000] Sortir d'une boucle while wend
    Par 973thom dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/09/2009, 10h14
  3. comment sortir d'une boucle while d'un Iterator
    Par solawe dans le forum Langage
    Réponses: 6
    Dernier message: 18/03/2008, 13h46
  4. Sortir d'une boucle while
    Par chris81 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 21/01/2008, 11h50
  5. Probleme pour sortir d'une boucle while
    Par aikinhdo dans le forum Langage
    Réponses: 0
    Dernier message: 27/07/2007, 15h01

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