2009-06-18 5 views
0

j'ai ajouté des événements de clavier .... avec l'objet de classe de robot pour écrire les valeurs de clé sur le bloc-notes ..... mais comme j'appuie "a" il l'interprétera comme "1" et ainsi de suite ... pour toutes les clés ...événement de clavier

lors de l'affichage des valeurs asci pour toutes les clés, il va imprimer des valeurs précises comme a-97, b-98 et ainsi de suite ....

pourquoi cela se produisait s'il vous plaît donner une solution ....

Répondre

2

La méthode Robot.keyPress prend dans un int code clé - pas un code de caractère réel.

De la documentation concernant keycode:

keycode - Key to press (e.g. KeyEvent.VK_A) 

Par conséquent, entrant la commande suivante ne fonctionnera pas:

Robot r = new Robot(); 
r.keyPress('a');   // Won't work -- it will press an "1" 

Pour qu'il fonctionne correctement, il faudrait utiliser les constantes de KeyEvent:

Robot r = new Robot(); 
r.keyPress(KeyEvent.VK_A); // This works -- it will press an "a" 

Aussi, si l'on veut utiliser le KeyEvent s retourné à partir d'un KeyListener événements tels que keyPressed et keyReleased, l'objet KeyEvent a une méthode getKeyCode qui renverra le keycode de l'événement.