我在运行时将节点添加回AnchorPane
时遇到问题。JavaFX在运行时间期间从锚板清除所有节点并添加新节点
我想要做的是当用户点击一个按钮,当前节点存储在ObservableList<Node>
,然后清除AnchorPane
。在此之后,我需要在那里添加新的节点。然后,当用户完成时,他们点击另一个按钮,我保存的ObservableList
应该被添加回AnchorPane
。
基本上我试图显示一个客户信息表单,当用户点击“客户”按钮,然后显示那里开始的节点。
有没有不同的方法来做到这一点?没有显示在另一个窗口? 我用.addAll()
但那是行不通的。
谢谢。
private ObservableList<Node> middlePaneContent;
@FXML
private AnchorPane middlePane;
@FXML
private void setMiddlePane(){
middlePaneContent = middlePane.getChildren();
//middlePane.setVisible(false);
middlePane.getChildren().clear();
}
@FXML
private void setInspectionToMiddlePane(){
//middlePane.getChildren().addAll(middlePaneContent);
middlePane.setVisible(true);
}
我感到困惑你的问题,但这样做后'middlePaneContent = middlePane.getChildren();'然后middlePaneContent和middlePane的孩子都指向了同样的事情。如果你采取行动,另一个也会改变 - 你需要克隆数据吗? –
是的,你是对的,我将如何制作它的副本而不是指向它? –
不知道你的类看起来像什么,但可能实例化新的或可能'克隆'将工作 –