【发布时间】:2017-07-07 00:34:16
【问题描述】:
在运行时将节点添加回AnchorPane 时遇到问题。
我要做的是当用户单击按钮时,当前节点存储在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 的孩子们都指向同一个东西。如果你对其中一个采取行动,另一个也会发生变化——你需要clone数据吗? -
是的,你是对的,我将如何复制它而不是指向它?
-
不确定你的类是什么样的,但也许实例化新类或者
clone会起作用
标签: java user-interface javafx observablelist