JavaFX应用程序在BorderPane

时间:2018-02-09 05:55:27

标签: performance javafx view borderpane

我发现在我的应用程序中的视图之间切换似乎有点慢(按钮是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,一个标签和一个按钮......看起来性能可能会好得多。

上面的代码是否有遗漏或有任何问题?

0 个答案:

没有答案