Vraiment grand besoin de votre aide pour les Threads
Abasedebasse
Messages postés23Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention27 juillet 2007
-
31 mars 2007 à 15:46
Abasedebasse
Messages postés23Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention27 juillet 2007
-
1 avril 2007 à 17:59
Bonjour a tous !
J'espere vraiment que vous allez pouvoir m'aider car je m'arrache les cheuveux...
Pour mon soft que je suis en train de mettre en place (systeme de console unix) j'ai besoin de thread (enfin je pense), je vous explique mon probleme...
J'ai une interface graphique du type "console" et j'ai besoin que le programme réagisse quand la personne tape sur la touche entrée, jusque la pas de probleme j'ai utilisé les keylistener. Mais le probleme c'est que il doit y avoir une sorte de discussion entre le programme et la personne devant l'ordinateur donc il faut que la main passe de l'un a l'autre. C'est a dire que quand j'ai fini de taper mon texte, j'appui sur entrée et la l'ordinateur traite ma réponse et me redonne la main...
Le probleme c'est que je ne connais pas bien les threads et je ne sais pas trop comment m'y prendre, au niveau de l'architetecture des classes etc... Alors que je me dit que cela ne doit pas etre dur, juste un systeme de méssagerie avec des "synchronized" mais je n'y arrive pas...
Donc si quelqu'un peut m'aider... J'ai cherché du code deja fait pour un style de méssagerie pour tenter de comprendre en le lisant mais je n'ai rien trouvé...si vous en avez je suis prenneur...
Un grand merci à celui qui pourra m'aider !
A voir également:
Vraiment grand besoin de votre aide pour les Threads
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 31 mars 2007 à 15:55
Salut:
KeyListener dans un programme console?
________________________________________________________________________________
A.B. :
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
Abasedebasse
Messages postés23Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention27 juillet 2007 31 mars 2007 à 15:57
non non je dis que j'ai fait un affichage de type console mais c'est du swing, tu vois c'est genre un ligne que tu tapes dans un Jtextfield qui aprés va dans un JtextArea et que est interprété par le programme...
Abasedebasse
Messages postés23Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention27 juillet 2007 1 avril 2007 à 11:54
Mais comment tu bloques le traitement ? parce que sinon ma tache de traitement cherche a avoir la reponse du JTextField trop tot et donc tout plante, je ne sais pas comment bloquer l'acces à la variable par la tache de traitement jusqu'a ce que la personne ai repondu. pour etre plus clair :
1 - La console affiche une question...
2- La personne repond...
3- Le traitement travaille en fonction de la reponse.
4 -La console affiche une reponse...
etc...
Comment faire donc pour ne pas avoir le processus 3 qui se lance avant que la personne ai repondu dans pas partie 2... ?
merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
cheplu
Messages postés16Date d'inscriptionvendredi 2 février 2007StatutMembreDernière intervention 1 juillet 2007 1 avril 2007 à 14:28
Tu peux très bien ne lancer ton traitement (ou tache 3) apres que l'utilisateur ai appuyé sur la touche "entrée" (dans un simple KeyListener) ou qu'il aie validé à l'aide d'un bouton "OK". Pas nécessairement besoin de Thread pour ça (bien que si ton traitement 3 est long, il risque de bloquer ton IHM pendant un certain temp et à ce moment la il faut mieux lancer des Threads).
Pour empecher l'utilisateur de saisir des valeur dans le JTextField tant que le traitement n'est aps terminé, il suffit de le bloquer (par un setEnable(false) ).