EventHandler für durch Tastenkombination erzeugte Zeichen

breakpoint

Mitglied
Ich möchte mit einem EventHandler key events eines ListView-Control abfangen.
Erst einmal etwas Code:
Code:
  final EventHandler<KeyEvent> keyEventHandler =
  new EventHandler<KeyEvent>() {
  public void handle(final KeyEvent keyEvent) {
     String key=keyEvent.getText();
     keyEvent.consume();
  }
  };

Wenn ich das Event mit dem ListView-Control verbinde ( ListViewWidget.setOnKeyReleased(keyEventHandler);
), erhalte ich die einzelnen KeyEvents. Ich bin aber an den Zeichen interessiert, wie sie z.B. in einer TextBox erscheinen würden. Drückt der User also "TAB + g", möchte ich ein großes "G" abfangen usw. Außerdem soll dies für jede Art von Zeichen funktionieren. D. h. tippt jemand auf einer nicht-deutschen Tastatur z.B. ein kyrillisches Zeichen, bin ich an diesem interessiert.
Wie kriegt man das hin? Bisher konnte ich nur Beispiele finden, bei denen explizit Tastenkombination wie "Shift + g" angefangen wurden, aber das geht in meinem Fall, wie gesagt, nicht. Ich benötige eine allgemeine Lösung.

Bin noch relativ grün hinter den Ohren, was JavaFX betifft, und freue mich über eure Antworten 🙂.
 
Zuletzt bearbeitet:
Danke 🙂. Hab meinen Post editiert.
Update: Ich konnte meine Frage wie folgt lösen.

getKeyChar() funktioniert mit dem key pressed und key released event nicht.
In dem Fall liefert es CHAR_UNDEFINED.

Mit setOnKeyTyped() geht es wie erwartet. 😎
 
Zuletzt bearbeitet:
bin davon ausgegangen, dass du das awt KeyEvent nutzt, dort ist es: char getKeyChar()
Aber scheinbar nutzt du javaFX, dort gibt es: String getCharacter()
 

Zurück
Oben