Я новичок в JavaFX и не могу выполнить то, что мне нужно: я изменяю сцену таким образом и в то же время определяю фильтр событий:
AnchorPane pane = FXMLLoader.load(getClass().getResource("blabla.fxml"));
Scene scene = new Scene(pane);
scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
public void handle(KeyEvent event) {
System.out.println("Filtering event " + event.getEventType() + ", " + event.getCode());
//Here in the handle method I want to call a method of the current controller
}
});
Stage appStage = (Stage) ((Node) event.getSource()).getScene().getWindow();
appStage.setScene(scene);
appStage.show();
В методе handle фильтра событий Iхочу выполнить определенный метод загруженного контроллера (изменить изображения).Я не могу поместить setOnKeyPressed в этом контроллере, так как связанный fxml имеет только нажатые клавиши изображений, не перехваченные.Я прочитал, что я должен был использовать addEventFilter на сцене.Оно работает.Метод handle правильно активирован, но я не знаю, как получить доступ к методу на контроллере, связанном с «blabla.fxml».
Большое спасибо за вашу помощь.
Доминик