Tôi muốn chương trình JavaFX của mình phản hồi các sự kiện bàn phím.
Tôi đã thử thêm người nghe vào thư mục gốc Pane
, lên trên cùng Pane
, nhưng nó không phản hồi sự kiện!
Đây là mã của tôi:Không thể nghe KeyEvent trong 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());
}
}
});
TẠI SAO U KHÔNG LÀM VIỆC, các sự kiện quan trọng? Tôi có làm gì sai ở đây không?
Để đảm bảo, các sự kiện chuột hoạt động tốt với cùng mã.
Thêm người nghe trên sân khấu? –
cảm ơn, hoạt động. – Chechulin