这是在JavaFX中切换场景的正确方法吗?

这是在JavaFX中切换场景的正确方法吗?,java,javafx,javafx-2,Java,Javafx,Javafx 2,我的JavaFX项目中有多个场景。似乎每次我试图转移到下一个场景都要花很多时间。我只是想让你看看我的代码,以确保我没有做任何多余或愚蠢的事情 public void goToDash(Button b) throws IOException { Stage primaryStage = (Stage) b.getScene().getWindow(); Parent root = FXMLLoader.load(getClass().getResource("dashboard

我的JavaFX项目中有多个场景。似乎每次我试图转移到下一个场景都要花很多时间。我只是想让你看看我的代码,以确保我没有做任何多余或愚蠢的事情

public void goToDash(Button b) throws IOException {

    Stage primaryStage = (Stage) b.getScene().getWindow();
    Parent root = FXMLLoader.load(getClass().getResource("dashboard.fxml"));
    primaryStage.setTitle("Classmate - Dashboard");
    primaryStage.setScene(new Scene(root, 1024, 705));//width, hight
    primaryStage.show();
    primaryStage.setMaximized(true);
}

舞台的大小在每个场景中都保持不变,但标题有所改变。欢迎提供任何有用的提示。谢谢你抽出时间

如果可以避免重新加载fxml文件,则可能会节省一些时间。从您当前的代码判断,当切换到另一个场景时,使用的fxml不会改变,对吗?您可以简单地预加载fxml文件,并在需要时将其设置为root。如果频繁地来回切换场景,您可以通过只从fxml读取一次并将其存储在父级
中来提高速度。然后,在需要的时候访问它。你是说我应该预加载我的每个FXML文件,并在每次需要切换到另一个场景时使用预加载的文件。这似乎是一个明智的做法。感谢@Shashwat的建议,请具体说明:1。通常需要多长时间?(1秒?10秒?更多?)。2.您使用的操作系统和版本是什么?3.场景是否包含任何非英语文本?如果是这样的话-只使用英语的场景会发生这种情况吗?导入fxml中按名称使用的所有类可能比对包使用导入更有效。。。