javafx重用窗格的初始化

时间:2019-03-27 20:42:14

标签: javafx view model controller initialization

这是我的情况。我有一个javafx窗格,我不想在每次显示时都重新创建它,因为我希望在切换视图之间保持所有用户字段填充。

为此,我这样做了:

@FXML
private void initialize() {
    createOrderPane = FxmlUtils.fxmlLoader(CREATE_ORDER_FXML);
}

public void setCenter(String fxmlPath) {
    if(CREATE_ORDER_FXML.equals(fxmlPath)) {
        borderPane.setCenter(createOrderPane);
    }
    else {
        borderPane.setCenter(FxmlUtils.fxmlLoader(fxmlPath));
    }
}

因此,如果用户希望看到CREATE_ORDER_FXML,它不会重新加载它,而是使用已经存在的实例。

问题在于视图的某些部分应重新初始化。例如,数据库可能会更改,而我想刷新一些从DB读取值的组合框。如何实现?

有一些onShow属性吗?或者,也许我能够找到createOrderPane对象的控制器?

0 个答案:

没有答案