如何在javafx中动态加载和删除节点?

时间:2019-01-18 20:40:55

标签: java user-interface javafx

我需要根据用户的决定动态加载按钮列表并将动作列表添加到所有按钮中。接下来,我必须删除此按钮并加载其他按钮而不是它们。我尝试使用此代码,

public void clearRadioButtons()
{


    for(int i =0; i< radioButtons.size() -1;i++)
    {
        radioButtons.remove(i);
        group.getToggles().remove(i);
        vBox.getChildren().remove(radioButtons);

    }
    radioButtons.clear();
    group.getToggles().clear();
    System.out.println("Clear"+radioButtons.size());


}

但是这些单选按钮仍在我的屏幕上。我无法删除它们。有人知道如何动态加载,删除和加载某些内容吗?

1 个答案:

答案 0 :(得分:0)

List的{​​{1}}方法仅在作为参数传递的对象是列表的一部分时才删除元素。传递列表不会导致列表的修改。

同样,循环的实现不正确(除非您不想删除最后一个remove(Object)并跳过其他所有单选按钮)。

使用RadioButton来删除单选按钮。除非有removeAll(Collection)的其他子项,否则也可以选择使用clear

示例:

VBox