Не удается прослушать KeyEvent в JavaFX
Я хочу, чтобы моя программа JavaFX отвечала на события клавиатуры.
Я пытался добавить слушателей в кореньPane
до самого верхаPane
, но это не такне реагировать на события!
Вот мой код:
AnchorPane root = new AnchorPane();
root.setOnKeyPressed(new EventHandler() {
@Override
public void handle(KeyEvent t) {
pressKey(t.getCharacter().charAt(0));
}
});
root.setOnKeyReleased(new EventHandler() {
@Override
public void handle(KeyEvent t) {
releaseKey(t.getCharacter().charAt(0));
}
});
root.addEventHandler(EventType.ROOT, new EventHandler() {
@Override
public void handle(Event t) {
if (t.getClass().equals(KeyEvent.class)) {
System.out.println("AAARGH! " + ((KeyEvent)t).getCharacter());
}
}
});
ПОЧЕМУ НЕТ РАБОТЫ, ключевые события? Я что-то здесь не так делаю?
Конечно, события мыши прекрасно работают с одним и тем же кодом.