Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1572 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Evenement clavier dans une appli en ligne de commande

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Evenement clavier dans une appli en ligne de commande

n°345018
souk
Tourist
Posté le 27-03-2003 à 11:31:49  profilanswer
 

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  :(
 

mood
Publicité
Posté le 27-03-2003 à 11:31:49  profilanswer
 

n°345130
bobuse
Posté le 27-03-2003 à 12:07:31  profilanswer
 

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 ...


---------------
get amaroK plugin
n°345140
souk
Tourist
Posté le 27-03-2003 à 12:12:09  profilanswer
 

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...

n°345166
bobuse
Posté le 27-03-2003 à 12:24:38  profilanswer
 

arf ok, j'avais po compris  ;)


---------------
get amaroK plugin
n°349233
souk
Tourist
Posté le 01-04-2003 à 15:18:13  profilanswer
 

je tente un petit up timide avant de laisser tomber definitivement....

n°714639
kaloskagat​os
Posté le 03-05-2004 à 20:19:14  profilanswer
 

[:atreyu]  
 
 
j'aurais besoin de la même réponse si quelqu'un a une idée  :love:

n°834390
@ttil@
Q, retire ce bonnet !
Posté le 27-08-2004 à 17:25:53  profilanswer
 

Up, j'ai le même problème...


---------------
Techno-science.net: Actualité des sciences et techniques
n°834445
oliv5
Pourquoi ? Parce que !
Posté le 27-08-2004 à 18:21:44  profilanswer
 

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 !
 
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  :(


 
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  :D

n°834628
@ttil@
Q, retire ce bonnet !
Posté le 27-08-2004 à 20:50:34  profilanswer
 

oliv5 a écrit :

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  :D


 
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...


---------------
Techno-science.net: Actualité des sciences et techniques
n°835122
sircam
I Like Trains
Posté le 28-08-2004 à 15:12:38  profilanswer
 

Code :
  1. System.in.read


 
C'est ça que tu cherches ?! Ou j'ai rien compris (auquel cas ttes mes excuses).


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le 28-08-2004 à 15:12:38  profilanswer
 

n°835329
veryfree
Posté le 28-08-2004 à 23:42:41  profilanswer
 

sinon tu as deja des consoles implementé ( dans jext je crois de memoire) avec gestion des tab tout ca.
 

n°836643
@ttil@
Q, retire ce bonnet !
Posté le 30-08-2004 à 15:23:28  profilanswer
 

sircam a écrit :

Code :
  1. System.in.read


 
C'est ça que tu cherches ?! Ou j'ai rien compris (auquel cas ttes mes excuses).


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 :
  1. int i=0;
  2. while(i==0) {
  3.   i=Ze_fonction();
  4. }


 
Avec Ze_fonction() qui me renvoie un int différent de 0 si j'appuie sur une touche.


Message édité par @ttil@ le 30-08-2004 à 15:24:00

---------------
Techno-science.net: Actualité des sciences et techniques
n°836678
nerisson
Pic-pic
Posté le 30-08-2004 à 15:32:27  profilanswer
 

System.in.available() ?

n°836917
oliv5
Pourquoi ? Parce que !
Posté le 30-08-2004 à 17:48:13  profilanswer
 

@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".

n°837429
sircam
I Like Trains
Posté le 31-08-2004 à 10:02:31  profilanswer
 

@ttil@ 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 :
  1. int i=0;
  2. while(i==0) {
  3.   i=Ze_fonction();
  4. }


 
Avec Ze_fonction() qui me renvoie un int différent de 0 si j'appuie sur une touche.


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.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°837599
@ttil@
Q, retire ce bonnet !
Posté le 31-08-2004 à 11:21:01  profilanswer
 

sircam a écrit :

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.


C'est effectivement ce que j'ai fais, mais je te remerci qd même pour ta réponse :jap:


---------------
Techno-science.net: Actualité des sciences et techniques
n°839989
brisssou
8-/
Posté le 02-09-2004 à 14:47:40  profilanswer
 

comment on choisit dans quel thread on s'exécute ?
 
(mmm, ça sent la question de nwioub ça, non ?)


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°840008
nerisson
Pic-pic
Posté le 02-09-2004 à 14:51:25  profilanswer
 
n°840031
brisssou
8-/
Posté le 02-09-2004 à 15:01:58  profilanswer
 

oui, c'est vrai, des fois chui con... mais des fois hein !
merci quand même :jap:


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Evenement clavier dans une appli en ligne de commande

 

Sujets relatifs
[VB6] Commande de fermeture de Windows XPrécupérer les évènements clavier
évènement boutton (clique)Lancer une désinstalle à partir de la ligne de commande ?
Evenement cliqué sur un bouton créé par programme (MFC) ?Entrée clavier avec PHP en ligne de commande ?
[Visual C++] prog en ligne de commande avec interface visuelle option 
Plus de sujets relatifs à : Evenement clavier dans une appli en ligne de commande


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR