2009-06-18 7 views
0

Ich habe Tastaturereignisse hinzugefügt .... mit Roboterklasse 'Objekt, um die Schlüsselwerte auf dem Notizblock zu schreiben ..... aber wie ich drücke "a" es wird es als "1" interpretieren und so weiter ... für alle Tasten ...Tastaturereignis

Wenn die Asci-Werte für alle Tasten angezeigt werden, werden genaue Werte wie a-97, b-98 usw. ausgegeben.

, warum dies geschehen bitte irgendeine Lösung geben ....

Antwort

2

Die Robot.keyPress Methode nimmt in einem int Schlüsselcode - kein tatsächlicher Zeichencode.

Aus der Dokumentation in Bezug auf keycode:

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

Daher wird die folgende Eingabe nicht:

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

richtig funktioniert, würde man die Konstanten von KeyEvent verwenden müssen:

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

Auch wenn Sie dieverwenden möchtens zurückgegeben von KeyListener Ereignisse wie keyPressed und keyReleased, hat das KeyEvent Objekt eine getKeyCode Methode, die die keycode des Ereignisses zurückgibt.

Verwandte Themen