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

cs_Reptar Messages postés 7 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 23 avril 2003 - 22 avril 2003 à 13:39
cs_Reptar Messages postés 7 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 23 avril 2003 - 22 avril 2003 à 17:15
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

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
22 avril 2003 à 13:57
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
0
cs_Reptar Messages postés 7 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 23 avril 2003
22 avril 2003 à 15:13
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.
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
22 avril 2003 à 15:44
System.out.println("val est egal a "+val); doit etre a l'interieur de la classe question.

kaloway
0
cs_Reptar Messages postés 7 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 23 avril 2003
22 avril 2003 à 17:15
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.
0
Rejoignez-nous