Attendre que l'utilisateur est cliqué pour continuer...

Signaler
Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
23 avril 2003
-
Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
23 avril 2003
-
Tout d'abord je voudrais dire que j'ai commencé le java recemment et que je ne connais ce site que depuis peu, c'est pour ces raisons que je vous prierais d'etre complaisant. En effet ma question peut paraitre bête, mais je vous assure que j'ai cherché avant de poster ici.

Mon probleme est le suivant:
Je suis en train de programmer un jeu de monopoly, mais pour l'instant il ne marche que dans la console java. J'ai commencé a programmer les differentes fenetres dont j'ai besoin, notament celles ou il faut par exemple recuperer le nombre et les noms des joueurs. Probleme, dans la precedente version, quand on demande de rentrer une valeur au clavier, le programme se met en pause et ne reprend qu'apres ceci fait. Alors que maintenant le programme recupere les variables a leur valeur de creation(0 pour les "int" par exemple et null pour les "String") et continue avec celles-ci, il en resulte des gros bugs. Donc je voudrait que le programme principale se mette en pause le temps que l'utilisateur reponde aux questions dans des fenetres de dialogues(tant que l'utilisateur n'a pas appuyer sur le bouton OK).

Les seules solutions que j'ai trouvées sont, soit de faire une boucle avec une variable qui est modifiée a partir de la fenetre(ou plutot de l'ecouteur lié a cette fenetre) qui fait alors sortir de la boucle - ne me plait pas trop car ça doit bouffer du temps cpu - soit d'utiliser les Threads - j'ai regarder vite fais en consultant de la doc mais ça m'a l'air un peu compliqué.

C'etait pas mal long, je remercie ceux qui ont tout lu et ceux qui voudront bien repondre a ma question.

4 réponses

Messages postés
358
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
13 avril 2020

kaloway

bonjour,
je ne comprens pas en quoi ton programme doit faire une pause. alors que les données peuvent etre recupere lorsque l'on clique sur le bouton ok.
a bientot
Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
23 avril 2003

Je suis degouté j'ai deja tapez le texte suivant mais il y a eu bug et mon post n'a pas marché, bref...

UN EXEMPLE:

--En mode console

int val;
System.out.println("Donner un int");
val = Clavier.LireInt ; //recupere un int avec le clavier
System.out.println("val est egal a "+val);

--l'execution donne

Donner un int
4 //c'est moi qui rentre 4
val est egal a 4

----------------------------------------------------------------

--En mode graphique

int val;
Question Q1 = new Question(); //Frame qui recupere l'int
System.out.println("val est egal a "+val);

--l'execution donne:

(La frame s'affiche)
val est egal a 0

Mon probleme est que le println s'execute avant que l'utilisateur n'est pu modifier la valeur de val dans la frame.
Messages postés
358
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
13 avril 2020

System.out.println("val est egal a "+val); doit etre a l'interieur de la classe question.

kaloway
Messages postés
7
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
23 avril 2003

C'etait un exemple de mon probleme, mon programme est plus long et je n'utilise pas println, sachant que je n'ai pas envie de mettre la suite a l'interieur de actionPerformed.
Et puis je voudrais utiliser plusieurs fois ma frame pour demander pour chaque joueurs, le nom et la couleur du pion, donc ce n'est pas possible de mettre la suite du programme a l'interieur.