我有三个单选按钮,我希望上传GUI取决于我点击的复选框。
我曾参考过这个指南:http://docs.oracle.com/javafx/2/ui_controls/radio-button.htm 这似乎是我的需求的理想选择。但是,尽管导入了正确的库,但它无法识别类型。我决定写自己的小代码。
我们有水平盒子和垂直盒子。我已将标签和文本元素添加到一个水平框中(由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());
}
}
});
声明:
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
我收到错误:Children: duplicate children added: parent = HBox@359889fd
。我对此进行了一些研究:java.lang.IllegalArgumentException: Children: duplicate children added: parent = VBox@872be7。老实说,即使我们都在处理同样的问题,我也很难获得他的代码。
我的主要问题:如果我在开头删除所有元素,为什么会出现重复错误?
也许,我的代码可能完全错误,没有任何意义。你推荐其他方法吗?
答案 0 :(得分:0)
主要问题是我正在删除vb框,但我没有删除hb的内容。然而,我正在添加hb。我也应该从hb中删除。