Не понимаю как получить Scene, для того, чтобы получить действие клавиатуры
@FXML
private Label countLives;
@FXML
private Circle enemyCircle;
@FXML
private Circle myCircle;
@FXML
void initialize() {
countLives.getScene().setOnKeyPressed(key -> {
switch (key.getCode()) {
case W:
myCircle.setCenterX(myCircle.getCenterX() + 1);
}
});
}
Здесь countLives.getScene() выдает Null, но вот с кнопкой работает иначе, почему-то после нажатия у нее появляется Scene
void initialize(){
labelNick.setText(client.getName());
countReady.setText("1/10");
System.out.println(buttonReady.getScene());
buttonReady.setOnAction(event -> {
buttonReady.getScene().getWindow().hide();
}
Как в этом примере. В общем вопрос заключается в том, как мне получить в контроллере Scene?
null
выводится потому что на момент инициализации контроллера сцена еще не существует (в главном классе сначала загружается fxml, в этот же момент инициализируется контроллер, а потом уже создается объект сцены). В момент нажатия на кнопку же окно уже полностью инициализировано, поэтому объект сцены доступен.
Можно повесить listener
на sceneProperty
, при его изменении выполнять нужные вам действия со сценой:
countReady.sceneProperty().addListener(((observable, oldValue, newValue) -> {
if (newValue != null) {
//
}
}));
В чатсности я хотел бы использовать insert в фоновом режиме то есть:
Подскажите пожалуйста, как вывести название всех животных которые находятся в первой клетке, я попытался сделать циклом:
Помогите разобраться с папками в web приложении на SpringBoot, thymeleaf Сколько видео не смотрел на эту тему, каждый создает свою структуру папок, при...