如何删除动态添加的节点

时间:2017-05-29 15:44:58

标签: java javafx

我在for循环中生成四个HBox es。每个HBox都有1"删除按钮"。如何定位一个删除按钮以仅删除相应的HBox?我将所有HBox es添加到名为VBox的{​​{1}}。

现在我正在使用:

questionField

但这会删除所有4 private void removeAnswer() { this.questionField.getChildren().removeAll(hBox); } 个es。我需要一些能够单独定位特定HBox的东西。

这是循环:

HBox

1 个答案:

答案 0 :(得分:2)

您只需将HBox作为参数移至removeAnswer方法即可:

private void removeAnswer(Node answer) {
    this.questionField.getChildren().remove(answer);
}
for(int i = 0; i < 4; i++) {
    final HBox answer = new HBox();
    hBox[i] = answer;
    Button deleteButton = new Button("X");
    deleteButton.setOnAction(e -> {
       removeAnswer(answer);
    });

    ...
}