0

我发现在我的应用程序中的视图之间切换似乎有点慢(按钮是 JFXButtons 并且有一个“推送”动画,似乎什么都不是流畅的)。主要阶段是 BorderPane。我基本上有一个带有不同按钮的侧栏(BorderPane 中的左窗格),这些按钮将在 BorderPane 的中心加载一个 AnchorPane。在下面的代码中,Home.fxml 被加载到 BorderPane 的中心。

视图的切换在 MenuController(按钮侧边栏的控制器)中完成

按一个按钮时的代码如下:

@FXML
void homeAction(ActionEvent event) {

    Runnable setHome = new Runnable() {
        public void run() {
            try {

                root = Main.getRoot();
                home = FXMLLoader.load(getClass().getResource("/views/Home.fxml"));

                Platform.runLater(new Runnable() {
                    public void run() {     
                        root.setCenter(home);
                    }
                });

            } catch (IOException e) {
                System.out.println("Error loading Home.fxml");
                e.printStackTrace();
            }
        }
    };
    Thread setHomeThread = new Thread(setHome);
    setHomeThread.start();
}

加载的视图不执行任何操作,例如连接到数据库。它只显示一个空的 tableview、一个标签和一个按钮……而且性能似乎要好得多。

上面的代码有什么我遗漏或有什么问题吗?

4

0 回答 0