加载fxml后的JavaFX显示阶段

加载fxml后的JavaFX显示阶段,javafx,stage,Javafx,Stage,我试图做的是一个javaFX窗口,它可以处理我的代码,,而我的窗口会显示出来,所以我继续工作 public void setStage()(Stage stage){ this.stage = stage; stage.setonShowing(new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent event) { work(); //What i wa

我试图做的是一个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();
}

我非常感谢您的帮助,如果有人能告诉我我做错了什么和/或我如何修复它,那就太好了

不要用睡眠之类的东西阻塞javafx应用程序线程。它妨碍了布局和正确的渲染。好吧,但我应该怎么做呢?我必须实施延迟。。。我目前正在尝试计时器,但有太多的障碍,我需要克服
        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();

        }