这是我的情况。我有一个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对象的控制器?