Javafx如何正确切换场景?
我在互联网上到处寻找,但我找不到一个简单问题的直接答案:在JavaFX应用程序中切换场景的最佳方式是什么? 我有几个FXML文件和每个控制器,我希望能够尽快在它们之间切换(屏幕大小应该保持不变,关于窗口的所有内容都应该保持不变,除了内容) 我可以考虑很多方法,最常见的方法是使用FXMLLoader加载FXML文件,然后创建一个新场景,然后将此场景设置为舞台,最后显示舞台。这是可行的,但对我来说似乎效率不高,因为每次我切换页面时,程序都必须创建一个全新的场景,然后将其分配给舞台。为什么这种方法最常用Javafx如何正确切换场景?,javafx,fxml,scene,Javafx,Fxml,Scene,我在互联网上到处寻找,但我找不到一个简单问题的直接答案:在JavaFX应用程序中切换场景的最佳方式是什么? 我有几个FXML文件和每个控制器,我希望能够尽快在它们之间切换(屏幕大小应该保持不变,关于窗口的所有内容都应该保持不变,除了内容) 我可以考虑很多方法,最常见的方法是使用FXMLLoader加载FXML文件,然后创建一个新场景,然后将此场景设置为舞台,最后显示舞台。这是可行的,但对我来说似乎效率不高,因为每次我切换页面时,程序都必须创建一个全新的场景,然后将其分配给舞台。为什么这种方法最常
Parent root = FXMLLoader.load(getClass().getResource("newPage.fxml"));
Stage.setScene(new Scene(root));
Stage.show();
我发现了另一种方法,就是简单地更改当前场景的根(因此基本上用新的替换场景的FXML文件)。这似乎有点快,也不太滞后,但这是一种好的做事方式吗
Parent root = FXMLLoader.load(getClass().getResource("newPage.fxml"));
Stage.getScene().setRoot(root);
Stage.show();
在页面(场景)之间切换的最佳方式是什么 考虑到您自己的要求“屏幕大小应该保持不变,除了内容之外,窗口的所有内容都应该保持不变”,那么方法二似乎是最合适的,不是吗?因为它也稍微快一点,并且根据您自己的发现工作,所以我不会再三考虑做出选择。如果没有错误,两者都可以。没有最好的。使用最适合你情况的方法。好的。谢谢