Evenement clavier dans une appli en ligne de commande - Java - Programmation
Marsh Posté le 27-03-2003 à 12:07:31
Et tu peux vraiment pas faire d'WAT, pake sinon, tu te fais ta propre console : un TextComponent, et la tu peux faire ce que tu veux ...
Marsh Posté le 27-03-2003 à 12:12:09
ouais, mais pour l'acces distant en mode texte c'est moyen... c'est ce que j'ai commencer a faire, en desespoir de cause, mais bon...
Marsh Posté le 27-03-2003 à 12:24:38
ReplyMarsh Posté le 01-04-2003 à 15:18:13
je tente un petit up timide avant de laisser tomber definitivement....
Marsh Posté le 03-05-2004 à 20:19:14
j'aurais besoin de la même réponse si quelqu'un a une idée
Marsh Posté le 27-08-2004 à 17:25:53
Up, j'ai le même problème...
Marsh Posté le 27-08-2004 à 18:21:44
souk a écrit : Salut, j'ai deja pose ma question dans un topic qui traitait des evenements claviers, mais vu que la solution du topic a ete donnee juste avant que je poste, le-dit topic s'est perdu dans les meandres du forum. d'ou ce nouveau post ! |
je n'ai pas compris ? je reconnais etre un peu mou a cette heure ci mais :
- tu veux faire une appli java qui prend tous ses arguments en ligne de commande, sans interface utilisateur c'est ca ?
Par ce que dans ce cas, je ne comprends pas l'histoire des evenement clavier.
- tu fais une appli java et dedans tu as un composant AWT qui te sert a ecrire ta ligne de commande ? Dans ce cas, il est facile de gérer les evenement clavier.
Mais je pense que je suis à coté de la plaque
Marsh Posté le 27-08-2004 à 20:50:34
oliv5 a écrit : je n'ai pas compris ? je reconnais etre un peu mou a cette heure ci mais : |
Moi c'est ça que je veux faire. En fait j'ai fait un simulateur en ligne de commandes, et je voudrais pourvoir interompre et reprendre la simulation en cours. Donc il faut que je sache si par exemple l'utilisateur a appuyé sur "Entrer" pour interompre la simu...
Marsh Posté le 28-08-2004 à 15:12:38
Code :
|
C'est ça que tu cherches ?! Ou j'ai rien compris (auquel cas ttes mes excuses).
Marsh Posté le 28-08-2004 à 23:42:41
sinon tu as deja des consoles implementé ( dans jext je crois de memoire) avec gestion des tab tout ca.
Marsh Posté le 30-08-2004 à 15:23:28
sircam a écrit :
|
Non, cette fonction est bloquante, et je ne veux pas ca.
En fait ce qu'il me faut c'est le fonction qui me permettrait dans une boucle sans fin de l'interompre si j'appuie sur une touche du clavier.
Par exemple:
Code :
|
Avec Ze_fonction() qui me renvoie un int différent de 0 si j'appuie sur une touche.
Marsh Posté le 30-08-2004 à 17:48:13
@ttil@ a écrit : Moi c'est ça que je veux faire. En fait j'ai fait un simulateur en ligne de commandes, et je voudrais pourvoir interompre et reprendre la simulation en cours. Donc il faut que je sache si par exemple l'utilisateur a appuyé sur "Entrer" pour interompre la simu... |
Pour capturer un évènement clavier en Java, il te faut une instance de JComponent je crois (il faut vérifier ca dans l'API java), donc en gros, il te faut au minimum une fenetre visible.
Je ne pense pas que l'API fournisse un support trés étendu pour ce qui touche à la sortie standart. System.Out est relativement pauvre et je crois qu'il n'y a pas grand chose de plus ailleurs.
Si il y a, c'est dans le package "System".
Marsh Posté le 31-08-2004 à 10:02:31
@ttil@ a écrit : Non, cette fonction est bloquante, et je ne veux pas ca.
|
Beh, tu mets System.in.read dans un thread, et ta "boucle principale" dans un autre thread.
Quand l'input de System.in te convient, tu fais passer à "false" le flag de ton thread principal.
Marsh Posté le 31-08-2004 à 11:21:01
sircam a écrit : Beh, tu mets System.in.read dans un thread, et ta "boucle principale" dans un autre thread. |
C'est effectivement ce que j'ai fais, mais je te remerci qd même pour ta réponse
Marsh Posté le 02-09-2004 à 14:51:25
La doc cai bon, mangezen:
http://java.sun.com/docs/books/tut [...] index.html
Marsh Posté le 27-03-2003 à 11:31:49
Salut, j'ai deja pose ma question dans un topic qui traitait des evenements claviers, mais vu que la solution du topic a ete donnee juste avant que je poste, le-dit topic s'est perdu dans les meandres du forum. d'ou ce nouveau post !
En gros, je suis en train de faire une application en ligne de commande pour acceder a une base de donnees et y faire des requetes dans un certain langage (pas SQL, mais ca se rapproche). Mon probleme c'est que je n'arrive pas a chopper des KeyEvent puisque les KeyEvent sont lances par des composant AWT qui ont le focus, et moi, c'est une appli toute bete en ligne de commande. Et il est important de recuperer les evenements claviers pour:
- ne pas afficher le mot de passe de l'utilisateur quand il se loggue (donc System.in ne peut pas etre utiliser)
- implementer un mechanisme d'autocompletion avec la touche TAB comme c'est souvent le cas.
Si vous avez des idees, je suis preneur, parce que je me debats avec ca depuis hier (bon je fais pas que ca non plus hein...) et j'arrive a rien