AWTEventListener KeyEvent und KEY_TYPED

Status
Nicht offen für weitere Antworten.

Luma

Bekanntes Mitglied
Hallo,
über einen AWTEventListener versuche ich global alle Maus- und Tastaturereigniss abzufagen. Folgendermaßen registriere ich einen solchen Listener:
Code:
Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
toolkit.addAWTEventListener(this, AWTEvent.MOUSE_MOTION_EVENT_MASK);
toolkit.addAWTEventListener(this, AWTEvent.MOUSE_EVENT_MASK);
Über die Methode
Code:
public void eventDispatched(AWTEvent event)
versuche ich nun Tastaturereignisse vom Typ KeyEvent.KEY_TYPED anzufangen. Dazu gehe ich folgendermaßen vor:

Code:
@Override
public void eventDispatched(AWTEvent event) {
    final int id = event.getID();
    Integer code;
    switch (id) {
    case KeyEvent.KEY_TYPED:
        code = getKeyCode(event);
        System.out.println("typed " + code);
        keyTyped.put(code, true);
        // ...
        break;
    }
}

private final Integer getKeyCode(AWTEvent e) {
    return ((KeyEvent) e).getKeyCode();
}

Die Ausgabe
Code:
System.out.println("typed " + code);
liefert aber immer 0. Was mache ich falsch?
 

Marco13

Top Contributor
Erstmal nichts. Aber vielleicht machst du nicht das, was du willst.
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/KeyEvent.html#getKeyCode()

"Returns: the integer code for an actual key on the keyboard. (For KEY_TYPED events, the keyCode is VK_UNDEFINED.)"
 

Wildcard

Top Contributor
Ausserdem solltest du dir überlegen ob ein AWT Event Listener der richtige Weg ist, denn wie die Java Doc schon sagt, gibt es fast keinen Anwendungsfall für einen AWT Event Listener.
 

Luma

Bekanntes Mitglied
Okay, danke für die Tipps. Ich versuche es nun mit Key- und MouseListener. Den AWTEventListener wollte ich, damit ich alle Ereignisse abfangen kann und nicht von einer bestimmten Komponente.
 

Luma

Bekanntes Mitglied
Hallo,
das scheint auch nicht zu klappen. Hab die Doku wohl nicht ernst genug genommen ;). Für was existiert denn dann überhaupt KEY_TYPED? Bin jetzt ein wenig ratlos, wie soll ich denn diese Methode nachbilden? Bzw. wie mach das dann z.B. ein JTextField?
 

Luma

Bekanntes Mitglied
Habe das Problem nun lösen können, indem ich das Zeichen und nicht den Code abfrage und dieses Zeichen in ein int caste.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing Krieg die Krise mit dem AWTEventListener AWT, Swing, JavaFX & SWT 8
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
Monokuma KeyEvent in der Canvas Klasse AWT, Swing, JavaFX & SWT 0
F AWT awt KeyEvent - Zeichen direkt nach Eingabe löschen AWT, Swing, JavaFX & SWT 2
Bluedaishi JavaFX JFoenix TextField KeyEvent AWT, Swing, JavaFX & SWT 2
L JavaFX ASCII Zeichen /char von KeyEvent erhalten AWT, Swing, JavaFX & SWT 5
Wurstkopp JavaFX JavaFX KeyEvent kein Zahlencode um unbekannte Mediatasten auszuwerten? AWT, Swing, JavaFX & SWT 0
B JavaFX Wo liegt mein Gedankenfehler ??? KeyEvent geht nicht ... AWT, Swing, JavaFX & SWT 8
S Swing JDialog mit KeyEvent als Rückgabe AWT, Swing, JavaFX & SWT 1
B JavaFX KeyEvent und Canvas draw Problem AWT, Swing, JavaFX & SWT 9
dat_vin KeyEvent jTextField AWT, Swing, JavaFX & SWT 12
A Swing KeyEvent mit KeyListener und KeyAdapter kürzer schreiben AWT, Swing, JavaFX & SWT 7
B Event Handling KeyEvent für "+"-Tase auf dem Numpad? AWT, Swing, JavaFX & SWT 2
R Integer to KeyEvent AWT, Swing, JavaFX & SWT 2
sylo STRG + TAB KeyEvent abfangen AWT, Swing, JavaFX & SWT 6
earlgrey_tea KeyEvent reagiert nicht auf Eingabe ("Pausentaste") AWT, Swing, JavaFX & SWT 11
Luk10 KeyEvent ... AWT, Swing, JavaFX & SWT 6
M KeyEvent, KEY_TYPED & backspace/left/right. AWT, Swing, JavaFX & SWT 3
H KeyEvent für JFrame AWT, Swing, JavaFX & SWT 3
S Spezielles KeyEvent AWT, Swing, JavaFX & SWT 6
P KeyEvent methode an actionEvent methode weiterleiten AWT, Swing, JavaFX & SWT 5
A KeyEvent bei TAB-Druck AWT, Swing, JavaFX & SWT 10
J KeyEvent bei JTable mehrmals hintereinander ausführen AWT, Swing, JavaFX & SWT 9
J KeyEvent STRG+l, CTRL_DOWN_MASK AWT, Swing, JavaFX & SWT 7
I Pfeiltasten für KeyEvent AWT, Swing, JavaFX & SWT 4
G Windows Taste in KeyEvent? AWT, Swing, JavaFX & SWT 4
M KeyEvent - Programm mit ESC beenden AWT, Swing, JavaFX & SWT 7
H KeyEvent Leerzeichen und Backspace funktioren nicht! HILFE! AWT, Swing, JavaFX & SWT 2
S KeyEvent im JPanel AWT, Swing, JavaFX & SWT 3
G KeyEvent - Probleme AWT, Swing, JavaFX & SWT 6
G Suche einen KeyEvent für die Taste "ä" AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben