JAR在创建新场景之前关闭

时间:2017-03-16 12:30:26

标签: javafx jar runtime tetris

我的项目已经完成,所以我在IntelliJ中创建了一个JAR。第一阶段(javaFX)正在显示,但是当我点击按钮创建一个新阶段时,没有任何事情发生(期望旧阶段关闭,这是预期的)。为什么运行时没有创建新阶段?

view.getStartButton().setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            view.getScene().getWindow().hide();
            GameView view = new GameView();
            TetrisSpelEigenschappen model = new TetrisSpelEigenschappen();
            TetrisSpel spel = new TetrisSpel(model);
            TetrisBlokken blokmodel = new TetrisBlokken(spel,model);
            GamePresenter gamePresenter = new GamePresenter(view, model, spel, blokmodel);
            Stage gameStage = new Stage();
            Scene gameScene = new Scene(view);
            gameStage.setScene(gameScene);
            gameStage.setTitle("Game");
            gameStage.centerOnScreen();
            gamePresenter.addWindowEventHandlers();
            gameStage.showAndWait();
        }

1 个答案:

答案 0 :(得分:1)

默认情况下,应用程序将在最后一个窗口关闭时退出。因为在您的代码中,您在打开新窗口之前关闭现有窗口,我怀疑正在发生的事情是平台正在中间退出。 (注意这种行为有点脆弱......)

添加行

Platform.setImplicitExit(false);

Application班级的init()start(...)方法。