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

  FORUM HardWare.fr
  Programmation
  Java

  Gestion Clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gestion Clavier

n°902884
niouts
Forums => Entre-Aide !!
Posté le 19-11-2004 à 15:50:48  profilanswer
 

Re Bonjour, désolé de reposeter un autre sujet mais j'ai un autre problème...je suis débutant en Java donc cela peut se pardonner ! enfin j'espère  :whistle:  
 
voila j'ai fait une autre petite application banale qui devrait réagir lorsque j'appuie sur la touche F1 en m'inscrivant un message dans la console (ou autre chose...) J'ai donc utiliser cette méthode que l'on m'avait conseillé...
 

Code :
  1. public boolean keyDown (Event e, int key) {
  2. //key==1008 avec 1008 correpondant a F1 OU
  3. if (key==java.awt.Event.F1)
  4.       {System.out.println("F1 Appuyé !" );       
  5.         return true;
  6.        }
  7.     return true;
  8.     }


 
Mais donc cela ne marche pas vraiment puisque rien ne réagit sauf si je créé un composant TextField et que le curseur est dedans alors lorsque j'appuie sur F1, tout est OK !
 
Est-ce que quelqu'un pourrait m'aider en me disant ce qui ne va pas dans ce code ? Et si je dois changer de méthodes ? Si oui Help SVP ?
 
Merci d'avance !


Message édité par niouts le 19-11-2004 à 15:51:20
mood
Publicité
Posté le 19-11-2004 à 15:50:48  profilanswer
 

n°907973
KristaaL
Posté le 25-11-2004 à 20:33:42  profilanswer
 

je suis débutant aussi en java mais je penses que si tu nous montrer ta méthode main on pourrait t'aider plus facilement : )

n°907988
benou
Posté le 25-11-2004 à 21:07:13  profilanswer
 

c'est pas comme ca que ca marche : il faut que tu utilises un KeyListener en surchargeant la méthode keyPressed() et que tu assigne ce listener au composant que tu veux sureveiller


---------------
ma vie, mon oeuvre - HomePlayer
n°908088
zerod
atchoum !
Posté le 25-11-2004 à 23:00:42  profilanswer
 

en l'occurence certainement le containPane de la frame principale.

n°908416
niouts
Forums => Entre-Aide !!
Posté le 26-11-2004 à 13:15:51  profilanswer
 

OK ! Merci pour les infos...
 
je vais tester ca alors, je vous tiens au courant !  :hello:

n°908492
niouts
Forums => Entre-Aide !!
Posté le 26-11-2004 à 14:23:51  profilanswer
 

Alors voila...j'ai testé ca :

Code :
  1. addKeyListener
  2.      (new KeyAdapter () {
  3.           public void keyPressed (KeyEvent e, int key) {
  4.           if (key==1008)  //code de F1
  5.              {
  6.       System.out.println("F1 Appuye !" );
  7.                }
  8.          
  9.           }
  10.            }
  11.      );


mais cela ne marche pas...bien sur j'ai essayé avec la touche espace aussi enfin il manque peut etre un detail ou alors je teste mal  :pt1cable:  on sait jamais  :na:  
Quelqu'un peut m'aider sachant que j'ai bien sur mis implements KeyListener dans la "définition" de la classe ??
Merci !


Message édité par niouts le 26-11-2004 à 14:25:30
n°908834
veryfree
Posté le 26-11-2004 à 21:29:42  profilanswer
 

tu l'ajoute a quoi ton listener?
Si ton but c'est de l'ajouter a une frame alors jte deconseille cette methode.

n°909288
darklord
You're welcome
Posté le 27-11-2004 à 19:36:41  profilanswer
 

fais un system.out au début de ton keypressed event pour voir si ton listener est bien enregistré là ou tu veux.

n°911050
niouts
Forums => Entre-Aide !!
Posté le 30-11-2004 à 10:13:47  profilanswer
 

Bonjour,
désolé de ne pas avoir répondu avant...
 

Citation :

fais un system.out au début de ton keypressed event pour voir si ton listener est bien enregistré là ou tu veux.

 alors j'ai testé, rien ne s'affiche
 

Citation :

tu l'ajoute a quoi ton listener?  
Si ton but c'est de l'ajouter a une frame alors jte deconseille cette methode.  

 je veux l'ajouter à la frame en effet...
Que me conseillez vous alors car aparement c'est vrai que c'est déconseillé  :(  
Merci  :bounce:


Message édité par niouts le 30-11-2004 à 10:14:33
n°911141
veryfree
Posté le 30-11-2004 à 13:03:51  profilanswer
 

ben fait une menubar et dans tes menuitem tu ajoute des "accelerator":
 
mi = new JMenuItem("mon menu qui doit demarrer par F2" );
 mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F2,0));


Message édité par veryfree le 30-11-2004 à 13:04:07
mood
Publicité
Posté le 30-11-2004 à 13:03:51  profilanswer
 

n°911239
LeMicky
Posté le 30-11-2004 à 14:34:00  profilanswer
 

Surtout ton problème (je pense) vient du fait que tu n'as pas compris qu'il faut attacher ton listener à ta frame principale : en gros, là tu lui dis d'écouter, notamment si la touche F1 est enfoncée, mais tu ne lui dis pas où!
Du coup, il ne fait rien... et c'est normal.
 
Faut créer un Listener, mais faut également le rattacher à ton container (Frame principale, applet, composant quelconque, TextField) ainsi lorsqu'un évenement se produira sur ton container, il le renvoie à tous ses Listeners et chacun d'eux regardent si ça le concerne.
Si tu appuies sur F1 alors que ton container est actif, alors ton Listener renverra bien ton action (print de "F1 appuyé" )
Ok?


Message édité par LeMicky le 30-11-2004 à 14:34:50
n°911306
niouts
Forums => Entre-Aide !!
Posté le 30-11-2004 à 15:41:44  profilanswer
 

Salut !
OK je vais essayer toutes vos solutions et je vous dis quoi...
Merci

n°911447
niouts
Forums => Entre-Aide !!
Posté le 30-11-2004 à 19:10:17  profilanswer
 

Bonsoir,
alors voila j'ai testé un peu  :pt1cable:  
 

Citation :

ben fait une menubar et dans tes menuitem tu ajoute des "accelerator":  
 
mi = new JMenuItem("mon menu qui doit demarrer par F2" );  
 mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F2,0));

Peux tu me donner l'équivalent pour un MenuBar et un MenuItem et non pour un JMenuBar et un JMenuItem car je ne trouve pas...en fait j'ai fait toute mon appli en AWT alors mettre du swing pour ca...c'est bête non ? sinon je le ferai mais bon si je peux éviter ca serait mieux  :D Sinon ca compile merci ;)  
 

Citation :

Surtout ton problème (je pense) vient du fait que tu n'as pas compris qu'il faut attacher ton listener à ta frame principale : en gros, là tu lui dis d'écouter, notamment si la touche F1 est enfoncée, mais tu ne lui dis pas où!  
Du coup, il ne fait rien... et c'est normal.  
 
Faut créer un Listener, mais faut également le rattacher à ton container (Frame principale, applet, composant quelconque, TextField)

Ok pas de problème mais pour le ratacher à la Frame il ne faut pas faire uniquement que addKeyListener dans la classe suivi de la définition ??
 
Merci ! :bounce:  
 

n°911480
veryfree
Posté le 30-11-2004 à 19:55:41  profilanswer
 

Peux tu me donner l'équivalent pour un MenuBar et un MenuItem
 
 
non

n°911520
niouts
Forums => Entre-Aide !!
Posté le 30-11-2004 à 20:43:37  profilanswer
 

Bon ben OK...
c'est pas grave je vais intégrer un menu SWING dans l'application AWT enfin je vais essayer que tout ca fonctionne correctement...
Merci quand même !

n°911691
veryfree
Posté le 30-11-2004 à 23:26:29  profilanswer
 

c'est pas la premiere fois que tu demande un truc tout fait, ca soule.
ca te prend 3 sec en cherchant dans la javadoc.

n°911880
LeMicky
Posté le 01-12-2004 à 10:58:13  profilanswer
 

niouts a écrit :

Ok pas de problème mais pour le ratacher à la Frame il ne faut pas faire uniquement que addKeyListener dans la classe suivi de la définition ??
 
Merci ! :bounce:


 
Alors là je ne sais plus, ça fait style 5 ans que je n'ai pas attaché de Listener à quoi que ce soit alors... faut regarder la doc (javadoc, tutorial java) y a sûrement des exemples et explications, mais je t'ai donné l'idée générale.

n°911885
niouts
Forums => Entre-Aide !!
Posté le 01-12-2004 à 11:04:54  profilanswer
 

OK Merci !

n°911916
niouts
Forums => Entre-Aide !!
Posté le 01-12-2004 à 11:59:12  profilanswer
 

Citation :

c'est pas la premiere fois que tu demande un truc tout fait, ca soule.  
ca te prend 3 sec en cherchant dans la javadoc.

Désolé si tout le monde n'est pas bilingue comme toi...j'avais précisé (en tout cas les autres fois je crois) que j'étais un débutant. Mais ce n'est pas grave, j'ai regardé la javadoc et j'ai trouvé comme tu me l'as dit donc merci ! et désolé d'être débutant  :(  
 
par contre je voulais avoir quelques infos sur les raccourcis claviers...
Aparemment avec ce code, il faut forcemment un raccourcis du style : Ctrl + Maj + F1 (par exemple)

Code :
  1. MenuItem Aide = new MenuItem ("Aide" );
  2. Aide.setShortcut(new MenuShortcut(KeyEvent.VK_F1,true));

Donc il doit exister surement une autre manière de faire pour que l'on puisse utiliser F1 comme raccourci...
mais j'ai cherché et je n'ai pas trouvé !  
quelqu'un pourrait m'aider ??
Merci ! :bounce:  

n°911948
veryfree
Posté le 01-12-2004 à 13:00:24  profilanswer
 

celui ci marche:
mi = new JMenuItem("mon menu qui doit demarrer par F1" );
 mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,0));


Message édité par veryfree le 01-12-2004 à 13:00:40
n°912063
LeMicky
Posté le 01-12-2004 à 14:50:16  profilanswer
 

niouts a écrit :

Citation :

par contre je voulais avoir quelques infos sur les raccourcis claviers...
Aparemment avec ce code, il faut forcemment un raccourcis du style : Ctrl + Maj + F1 (par exemple)

Code :
  1. MenuItem Aide = new MenuItem ("Aide" );
  2. Aide.setShortcut(new MenuShortcut(KeyEvent.VK_F1,true));

Donc il doit exister surement une autre manière de faire pour que l'on puisse utiliser F1 comme raccourci...
mais j'ai cherché et je n'ai pas trouvé !  
quelqu'un pourrait m'aider ??
Merci ! :bounce:




Là encore c'est au niveau de ton Listener que tu dois faire qqchose : Suffit que tu lui dises que quand le gars tape F1, tu envoies un Event (KeyPressed je suppose) Ctrl+F1 à ton MenuItem Aide (tu mets Aide.setShortcut(new MenuShortcut(KeyEvent.VK_F1,false)); au lieu de "true" et y a pas de SHIFT, voir javadoc)
 
Faut se montrer créatif , t'as ton shortcut qui est forcément Ctrl+"qqchose", toi tu veux que ça se déclenche quand c'est "qqchose" (sans le CTRL), ben suffit de transformer le "qqchose" en "CTRL+qqchose".
C'est bête comme chou. Faut pas se laisser abattre par si peu...


Message édité par LeMicky le 01-12-2004 à 14:51:37
n°913018
niouts
Forums => Entre-Aide !!
Posté le 02-12-2004 à 16:23:34  profilanswer
 

Ben en fait je voulais simplement vous remercier pour vos réponses...ca ma beaucoup aidé ;)
donc pour infos j'ai fais tout mes raccourcis avec Ctrl + qqch et puis sinon il y a les autres solutions qui ont été proposées...
Voila Encore Merci !

mood
Publicité
Posté le   profilanswer
 


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

  Gestion Clavier

 

Sujets relatifs
Gestion des erreursgestion avec base mysql
gestion de clavierDelphi7 : gestion clavier /souris
Question sur gestion clavier avec TP [résolu][ActionScript] PB de gestion de clavier en publication html
Gestion du clavier en mode console (snake)[OpenGL] gestion clavier/souris
Gestion des diodes du clavier...URGENT !!! Interruption 9 : gestion du clavier en PASCAL
Plus de sujets relatifs à : Gestion Clavier


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