Chcę, aby mój program JavaFX reagował na zdarzenia klawiatury.
Próbowałem dodać słuchaczy do root Pane
, na najwyższy Pane
, ale nie reaguje na wydarzenia!
Oto mój kod:Nie można słuchać KeyEvent w JavaFX
AnchorPane root = new AnchorPane();
root.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {
pressKey(t.getCharacter().charAt(0));
}
});
root.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {
releaseKey(t.getCharacter().charAt(0));
}
});
root.addEventHandler(EventType.ROOT, new EventHandler<Event>() {
@Override
public void handle(Event t) {
if (t.getClass().equals(KeyEvent.class)) {
System.out.println("AAARGH! " + ((KeyEvent)t).getCharacter());
}
}
});
dlaczego u BRAK PRACY, kluczowe wydarzenia? Czy robię coś złego tutaj?
Dla pewności, zdarzenia myszy działają poprawnie z tym samym kodem.
Dodaj słuchacza na scenie? –
dzięki, to działa. – Chechulin