Ich möchte mit einem EventHandler key events eines ListView-Control abfangen.
Erst einmal etwas Code:
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 .
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: