comment mettre en pause un programme pendant son exécution ? - Java - Programmation
Marsh Posté le 14-11-2003 à 15:48:56
GUI powwa
sinon t'as readLine(); qui "attend" que l'utilisateur ai saisie quelque chose pour continuer l'execution du programe.
Marsh Posté le 14-11-2003 à 15:51:32
c'est vrai que c'est pas mal comme truc, je n'y avait même pas pensé, mais de toute façon avec mon Thread et un booleen j'arrive à avoir le temps de réaction.
Mais tu ne sait pas comment est-ce que je peut mettre mon programme "en pause" en attendant que l'utilisateur appuie sur une touche : genre tu affiche "press any key to continue" dans un pannel, et hop le programme reprend son cours quand l'utilisateur appuie sur une touche ?
Marsh Posté le 14-11-2003 à 16:21:23
babthefox2002 a écrit : c'est vrai que c'est pas mal comme truc, je n'y avait même pas pensé, mais de toute façon avec mon Thread et un booleen j'arrive à avoir le temps de réaction. |
dans un pannel ??
jcroyait que c'etait en console
Marsh Posté le 14-11-2003 à 17:55:55
non veryfree relis son post...
bab ton truc avec le thread c'est horrible, tu appelles sleep mille fois par seconde...
en console je ne sais pas du tout comment faire du on-the-fly (press a key) car il me semble que les données sont envoyé dans le stream qu'apres un Enter...
long a = System.currentTimeMillis();
// question, réponse
long b = System.currentTimeMillis();
System.out.println("vous avez mis " + (b-a)/1000 + " secondes à répondre" );
Marsh Posté le 14-11-2003 à 18:11:41
bugsan a écrit : non veryfree relis son post... |
de quoi non
un coup c'est en console, un autre coup il parle de panel
j'essaye de comprendre quoi
Marsh Posté le 15-11-2003 à 14:48:17
Mes questions sont affichées dans un JPanel a l'aide de la methode "paintComponent(Graphic g)"...
Mais je crois quavec un objet Date() et la méhode getTime) je vais pouvoir men sortir au pire...
Marsh Posté le 15-11-2003 à 14:50:17
en fait pour le "press any key", je cherche l'équivalent d'un getChar() en langage C, je ne sais pas s'il existe en java ?
Marsh Posté le 15-11-2003 à 15:32:25
En fait non un "getChar()" ne marche pas car il ne marche qu'en console...
Je n'arrive pas à trouver...
aidez-moi...
Marsh Posté le 15-11-2003 à 18:18:50
babthefox2002 a écrit : personne ne veut répondre ?? |
mais si ...
Y a peut être moyen de faire plus simple mais ca ca marche ...
Code :
|
Marsh Posté le 14-11-2003 à 15:37:17
Bonjour,
je souhaiterais faire un petit test : du genre je pose une question et l'utilisateur répond par oui avec la touche 'o' et par non avec 'n'.
Dans ce petit test, le temps de présentation des questions est important, tout comme le temps de reaction de l'utilisateur...
Mon probleme est le suivant :
J'ai un tableau 2d contenant dans une case la question, puis dans l'autre case la reponse.
Donc je fais une boucle répétant autant de fois qu'il y a de question :
- une présentation de la question a l'utilisateur pendant 1s (là j'utilise un Thread().sleep(1000)), puis on mesure le temps de réaction de l'utilisateur...
-----------------------------------------------------------------
-> là je ne sait pas trop comment faire, il faut que je lance un Thread qui incrémente un entier toutes les millisecondes
un truc genre :
public void run() {
for(; { try{sleep(1);}
catch (InterruptedException e) {}
_ms++;
}
=> mais comment faire pour stopper le Thread lorsque l'utilisateur frappe sur une touche('o' ou 'n') ? En mettant un booleen à tester en début de run ?
----------------------------------------------------------------
- et enfin j'aimerais savoir comment pourrai-je stopper mon programme avant d'afficher la question suivante, tant que l'utilisateur n'a pas appuyé sur une touche ("entrée" par exemple) ? Est-ce qu'il n'y aurait pas une méthode permettant d'attendre une pression de touche avant de continuer (genre : waitKey()) ??
J'espère que ce que j'ai écrit est compréhensible.
Je remercie d'avance ceux qui pourront m'aider...
Baba