如何在单个阶段中更改动态生成的JavaFX场景?

时间:2015-03-24 21:48:44

标签: javafx scene

我目前正在开展一个项目,要求我在场景之间来回切换。我已经为它编写了一些代码,但它并不像我想要的那样优雅,尤其是当我在它们之间切换时几乎没有闪烁,有时甚至我生成的按钮只是消失而只是再次出现当另一个场景生成时。此外,我用于我的应用程序的布局并没有真正解决,我认为使用FXML可能不适合我正在做的事情。

谢谢。

这就是我用来改变场景的方法:

void changeScene(Stage stage,Scene scene){
    stage.setScene(scene);
    primaryStage.setFullScreen(true);
}

1 个答案:

答案 0 :(得分:0)

我认为“在场景之间切换”意味着你想要改变现有窗口的整个内容。

有两种(非常)略微不同的方法可以做到这一点。创建新的Scene并将其传递给Stage的{​​{1}}方法。或者创建作为新UI根目录的setScene(...)(通过FXML或其他方式),并将其传递给现有的Parent Scene方法。我可以看到一个在另一个上面没有真正的优势。

这是第二个选项的最小实现。用户界面与问题无关:重要的部分是“登录”按钮(从登录场景切换到主场景)和“退出”按钮(切换回来)的事件处理程序。

setRoot(...)
相关问题