java—有没有一种方法可以在数组中加载多个fxml,然后在按下按钮时显示其中一个,而不必在javafx中重新加载同一个fxml?

liwlm1x9  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(234)

netbeans ide 8.2。
我的程序在vbox中插入了一个左菜单栏。
当我点击左边的一个菜单按钮时,我的程序会在同一阶段加载另一个控制器(当然还有另一个.fxml)。没关系。

这就是它的样子

问题

如果我开始在这个新的控制器中进行一些更改,然后我想通过单击左菜单按钮打开另一个控制器,我的“旧”控制器就会消失(没关系)。但当我再次打开旧的控制器时,我在那个页面上所做的所有更改都消失了。
因为我知道,每次按下按钮菜单都会运行以下命令:

@FXML
public void btnMenuOnAction(ActionEvent event) {
    if (event.getTarget() == btnDashboard) 
    {
        Pane newPane = null;
        try {
            newPane = FXMLLoader.load(getClass().getResource("Dashboard_View.fxml"));
        } catch (IOException ex) {
            System.out.println("Error pane Dashboard");
        }
        pane.getChildren().set(0, newPane);
    } 
    else if (event.getTarget() == btnProduction)
    {
        Pane newPane = null;
        try {
            newPane = FXMLLoader.load(getClass().getResource("Prod_View.fxml"));
        } catch (IOException ex) {
            System.out.println("Error pane Prod");
        }
        pane.getChildren().set(0, newPane);
    }
}

那么,如何才能在程序启动前加载每个fxml,并在单击按钮时使其在窗格中可见呢?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题