Java: Registrieren <ENTER> - Taste drücken Sie auf JTextPane

Mache ich eine Anwendung mit java hat ein JTextPane. Ich möchte in der Lage zum ausführen von code, wenn das enter - Taste gedrückt wird (oder wenn der Benutzer auf der nächsten Zeile). Ich habe gesucht auf das Internet und nicht eine Lösung gefunden. Würde es besser sein, um dieses mit C#? Wenn nicht, wie kann ich mich anmelden die Enter-Taste in das JTextPane ist keyTyped () - Ereignis? Wenn C# ist eine gute option, wie würde ich das in C#?

Hier ist eine Lösung, die ich dachte funktionieren würde...aber nicht

//Event triggered when a key is typed
private void keyTyped(java.awt.event.KeyEvent evt) {
    int key = evt.getKeyCode();
    if (key == KeyEvent.VK_ENTER) {
        Toolkit.getDefaultToolkit().beep();
        System.out.println("ENTER pressed");
    }
}

Warum das Beispiel oben nicht funktioniert, ist, weil egal welche Taste ich drücke, bekomme ich einen keyCode 0. Ich würde es vorziehen, eine Lösung für dieses problem in Java, aber C# würde die Arbeit genauso gut, vielleicht besser. Auch, versuchen Sie bitte, die Frage zu beantworten, mit Beispielen und nicht-links(es sei denn, Sie wirklich brauchen). Danke!

  • dont verwenden Sie keyListeners, nutze keyBindings, da @Hovercraft vorgeschlagen
  • Aus den JavaDocs für getKeyCode(): For KEY_TYPED events, the keyCode is VK_UNDEFINED. Es ist dokumentiert worden, die als solche mindestens seit 1.3.
Schreibe einen Kommentar