Tastatureingabe von Sondertasten auslesen

Methusalem

Mitglied
Hallo,
Ich möchte gerne die Tastatureingaben in einem jPanel tracken, und hab dafür einen keyListener erstellt und die Eingabe an die Funktion panelKeyTyped(...) übertragen
Java:
panel.addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyTyped(java.awt.event.KeyEvent evt) {
        panelKeyTyped(evt);
    }
});
aus der ich dann im weiteren die entsprechende Eingabe auslese
Java:
private void panelKeyTyped(java.awt.event.KeyEvent evt) {                                
    System.out.println(evt);
}
Leider hab ich jedoch feststellen müssen, dass so viele Tasten nicht übertragen werden (also z.B. Tabulator, links- recht- unten- oben-Pfeile, programmierbare F-Tasten, Page-Up & Page-Down...), sowie auch Tastenkombinationen wie 'ctrl' + 'c' (hier wird dann nur der Steuerungs- nicht aber der c-Tastendruck übertragen) etc.

Ich hab gegoogelt und hab zumindest einen Tipp finden können, wie man es schafft den Tab zu übertragen, mit der Zeile
Java:
panel.setFocusTraversalKeysEnabled(false);
Für die verbleibenden fehlenden Tasten hab ich jedoch nichts dergleichen finden können.

Wie schaffe ich es, dass auch die verbleibenden Tasten an mein panelKeyTyped(...) übertragen werden?
 
KeyPressed reagiert aber auf mehr Tasten als KeyTyped, z.B. Funktionstasten, Cursortasten, etc. Wenn es bei dir trotzdem nicht funktioniert, muß noch etwas anderes in deinem Programm falsch sein.
 
Wenn es bei dir trotzdem nicht funktioniert, muß noch etwas anderes in deinem Programm falsch sein.
Du hast recht. Gerade eben wollte ich dir die entsprechenden Code-Schnippsel posten mit darauf folgendem Kommentar, was man da schon groß falsch machen könne: Copy-Paste Fehler. 😳

Ich habs auf die Schnelle noch mal ausprobiert. Tatsächlich scheinen jetzt sämtliche Tasten erkannt zu werden. Vielen vielen Dank. Der Nachteil jetzt nur ist, dass jede Taste einzeln gesendet wird, und ich somit sie selbst im Code interpretieren muss (also z.B. aus "Shift" + "d" -> "D"); aber das schaff ich auch noch! 🙂
 
Zuletzt bearbeitet:
Ja, ich sehe... Nur hab ich dann auch für jedes Shift und so weiter jede Menge Unbekannt-Zeichen: ￿
Ich schau mal, wie ichs letztendlich umsetzen werde, aber denke ich fast, dass es am einfachsten sein dürfte sie manuell zu interpretieren mittels keycode.
 

Zurück
Oben