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 infinie


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut Sortir d'une boucle infinie
    Bonjour

    Voila tous et dans le titre, enfaite pour bien détaillé, je suis obligé de faire une boucle infinie pour que je reste toujours en écoute sur un port du PC

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    boolean test=true;
    while (test)
    {
    mon code 
    }
    jusqu'au là tout marche bien sauf que mon programme rentre en boucle infinie et il répond plus a mes évenement de la sourie!!! (je veux faire un bouton quitter qd je clique sur ce boutton quitter il sort de la boucle (test =False) mais il me donne pas la main)
    enfaite je sais que en VB il éxiste une méthode qui permet de laissé le processus en écoute des évenements meme dans une boucle infinie, donc je veux savoir si il y a une méthodes pareil en JAVA

    merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    voila pour bien pricisé en VB on à la méthode DoEvents() est ce que y a une méthodes équivalente en JAVA???

    ou sinon si vous avez d'autres idées n'hésiter pas

    merci

  3. #3
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, il faut exécuter ta boucle dans un nouveau Thread.

    Voir Threads et performance avec Swing pour plus de détails.

  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
    Salut,


    Quelques remarques :
    1. Il y a peu de personne qui connaisse VB sur ce forum, et donc l'utilité exacte de la méthode DoEvents().
    2. Ton problème n'est pas très clair. Essaie de donner plus de précision sur ce qui te gêne.
    3. VB n'est pas Java, et inversement. On ne développe pas en VB comme on développe en Java, et généralement lorsqu'on cherche à migrer un code "tel quel" on se retrouve avec quelque chose de pas térrible (quel que soit le sens de la migration).


    Bref, et même si ce n'est pas évident : oublies temporairement VB et développes en Java !

    a++

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Citation Envoyé par wagui26 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    boolean test=true;
    while (test)
    {
    mon code 
    }
    Il faut pour sortir de la boucle que (test == false) à un moment donné puisque c'est la condition de sortie de ta boucle.

    A+

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mister Nono Voir le message
    Il faut pour sortir de la boucle que (test == false) à un moment donné puisque c'est la condition de sortie de ta boucle.

    A+
    Je crois que tu n'as pas bien compris sa demande... il cherche plutôt à créer un "listener", pas à proprement parler comment sortir de la boucle infinie (du reste, break aurait été tout aussi bien )

    Donc, la solution est plutôt du côté du Thread...

    (Ou alors, c'est moi qui n'ai pas compris sa demande )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je crois que tu n'as pas bien compris sa demande... il cherche plutôt à créer un "listener", pas à proprement parler comment sortir de la boucle infinie (du reste, break aurait été tout aussi bien )

    Donc, la solution est plutôt du côté du Thread...

    (Ou alors, c'est moi qui n'ai pas compris sa demande )
    Moi j'ai compris que ce qu'il avait dans sa boucle devait continuer de s'exécuter mais sans bloquer l'ihm. Donc j'en ai déduis qu'il exécute sa boucle dans l'EDT, d'où la proposition d'utiliser un autre thread

  8. #8
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je crois que tu n'as pas bien compris sa demande... il cherche plutôt à créer un "listener", pas à proprement parler comment sortir de la boucle infinie (du reste, break aurait été tout aussi bien )

    Donc, la solution est plutôt du côté du Thread...

    (Ou alors, c'est moi qui n'ai pas compris sa demande )
    Et bien, cela peut être une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    new Thread(new Runnable()
    {
          public void run()
          {
                taMethodeAvecLaBoucleInfinie();
          }
    }).start();
    A+

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Citation Envoyé par Mister Nono Voir le message
    Et bien, cela peut être une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    new Thread(new Runnable()
    {
          public void run()
          {
                taMethodeAvecLaBoucleInfinie();
          }
    }).start();
    A+

    merci bcp pour vos réponse je pense que c'est plutot ça ce que je cherche je vais essayé et je vous rend la réponse apres

    merci encore une fois

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    youuuupi ça marche c'est vraiment ça ce que je cherché
    du coup je vais lire un peut sur les Threads

    merci bcp pour votre aide

  11. #11
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    C'est exactement ce qu'il y avait dans le lien que je t'ai donné, tu devrais y jeter un œil pour en apprendre plus sur les threads, plutôt que de faire un bête copier/coller

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par défaut
    Citation Envoyé par CheryBen Voir le message
    C'est exactement ce qu'il y avait dans le lien que je t'ai donné, tu devrais y jeter un œil pour en apprendre plus sur les threads, plutôt que de faire un bête copier/coller
    oui justement c'est ce que je vais faire une fois que j'aurai un peut de temps de lire un peut plus sur les threads

    merci c'est résolu

  13. #13
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 241
    Par défaut
    Citation Envoyé par wagui26 Voir le message
    youuuupi ça marche c'est vraiment ça ce que je cherché
    du coup je vais lire un peut sur les Threads

    merci bcp pour votre aide
    Non, non, c'est avant qu'il faut lire et ensuite implémenter.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/03/2013, 00h42
  2. Sortir d'une boucle infinie à tout moment
    Par theooalfa dans le forum Langage
    Réponses: 5
    Dernier message: 29/06/2012, 14h41
  3. Sortir d'une boucle infinie lors d'un «shutdown aimable»
    Par spoutniksurf dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 10/12/2010, 15h15
  4. Sortir d'une boucle infinie
    Par Kassar dans le forum Débuter
    Réponses: 8
    Dernier message: 05/05/2008, 16h42
  5. SORTIR D'UNE BOUCLE
    Par chekibperl dans le forum Langage
    Réponses: 2
    Dernier message: 22/10/2005, 12h48

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