JavaFX onShowing Stage после загрузки fxml - PullRequest
0 голосов
/ 27 апреля 2018

что я пытаюсь сделать, это окно javaFX, которое обрабатывает мой код , в то время как мое окно отображается, поэтому я работал над

public void setStage()(Stage stage){
this.stage = stage;
stage.setonShowing(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {
        work();   //What i want to do while my window is visible
    }
});
stage.show();
}

setStage () получает свою сцену из класса, откуда я загружаю свой fxml из ....

Каждый раз, когда мое окно всплывает, сон до загружается fxml, но после окно показывалось, поэтому у меня только белое окно, на котором ничего нет

Если честно, я не уверен, в чем настоящая проблема

это то, что я сплю перед загрузкой fxml или это мой setonShowing (), который работает не так, как должно быть? я также попытался использовать setonShown() вместо setonShowing(), но ничего не изменилось

я также попытался переопределить setonShowing в моем классе Parent, но это также не сработало

, чтобы убедиться, что я ничего не сделал с моим fxml, вот код, который я использую для создания окна:

        Parent root;
        Stage stage = (Stage) StartSingleplayer_B.getScene().getWindow();
        stage.close(); // closing my old window

        try {

            fxmlLoader = new FXMLLoader(getClass().getResource("Spielfeld.fxml"));
            root = (Parent) fxmlLoader.load();
            GameController controller = fxmlLoader.getController();
            Stage stage2 = new Stage();
            controller.setStage(stage2);
            stage2.setOnShowing(new EventHandler<WindowEvent>() {
                @Override
                public void handle(WindowEvent event) {
                    work();
                }
            });
            stage2.setScene(new Scene(root));
            stage2.show();
        } catch(Exception e) {

            e.printStackTrace();

        }   

Я действительно ценю вашу помощь, поэтому было бы неплохо, если бы кто-то мог дать мне подсказку, что я сделал неправильно и / или как я мог это исправить

...