JavaFX-处理重复子错误-单选按钮

JavaFX-处理重复子错误-单选按钮,java,javafx,Java,Javafx,我有三个单选按钮,我希望我的GUI上传取决于我点击的复选框 我参考了本指南: 这似乎很适合我的需要。但是,即使导入了正确的库,它也无法识别该类型。我决定写我自己的小代码 我们有水平盒和垂直盒。我已经将标签和文本元素添加到一个水平框中(由hb、hb1、hb2……表示),并将它们合并到一个垂直框中 以下是我的单选按钮的事件侦听器代码: test1.setOnAction(new EventHandler<ActionEvent>() { @Override public

我有三个单选按钮,我希望我的GUI上传取决于我点击的复选框

我参考了本指南: 这似乎很适合我的需要。但是,即使导入了正确的库,它也无法识别该类型。我决定写我自己的小代码

我们有水平盒和垂直盒。我已经将标签和文本元素添加到一个水平框中(由hb、hb1、hb2……表示),并将它们合并到一个垂直框中

以下是我的单选按钮的事件侦听器代码:

test1.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {

        try{
            //Remove all existing children
            vb.getChildren().removeAll(hb,hb2,hb3,hb4,hb5);
            log("Cleared");
        } catch(Exception e)
        {
            log(e.getMessage());
        }
        try{
            //Add email and email text into a horizontal box
            hb.getChildren().addAll(email, email_text);
            hb.setSpacing(10);
            //Added the box to the vertical box
            vb.getChildren().add(hb);

            log("Added the email input box");
        }
        catch(Exception e){
            log(e.getMessage());
        }
    }
});
我收到一个错误:
子项:添加了重复的子项:父项=HBox@359889fd
。我对此做了一些研究。老实说,即使我们都在处理同一个问题,我也很难得到他的代码

我的主要问题是:如果我一开始就删除了所有元素,为什么会出现重复错误


也许,我的代码可能完全错误,毫无意义。你推荐其他方法吗?

主要问题是我删除了vb框,但没有删除hb的内容。然而,我添加了hb。我也应该从hb中移除

添加到
hb
时可能会出错。当从
vb
删除时,也从
hb
删除嘿!Vb包含所有hb元素。如果我删除Vb的子项…hb不应该被删除吗?添加到hb时是否有错误?(第二次尝试接球)。如果是,这意味着您已经有了一些元素,请在添加(电子邮件、电子邮件和文本)之前尝试删除它们(重复)。现在您仅从
vb
中删除。您必须明确指出出现此错误的具体位置。第一次单击任何复选框时,我会得到“清除添加电子邮件输入框”,第二次单击任何复选框时,我会得到“清除”,然后是“添加的子项:重复的子项:父项=HBox@359889fd“问题是,我会在单击任何复选框(第一个复选框)后立即删除它们。”但它说这是重复的是的它做了!我希望你把它贴出来作为一个答案!
final ToggleGroup group = new ToggleGroup();

final RadioButton test1 = new RadioButton("Test 1");
test1.setToggleGroup(group);
grid.add(test1, 0, 1);

final RadioButton test2 = new RadioButton("Test 2");
test2.setToggleGroup(group);
grid.add(test2, 0, 2);

final  VBox vb = new VBox(10); // main container
final HBox hb = new HBox(); // Email , Email Text
final HBox hb2 = new HBox(); // Corporate , Corporate Name