如何像javaFX中的div一样动态生成VBox

如何像javaFX中的div一样动态生成VBox,java,javafx,Java,Javafx,我想根据结果的数量自动生成VBox。例如,如果结果数为3,则我希望自动生成3个VBox。 通过以下示例,我编写了以下代码: 但它不起作用: @FXML private AnchorPane apne; @FXML private VBox vbxOuter; @FXML private VBox vbxInner; @Override public void initialize(URL location, ResourceBundle resources) { // TODO

我想根据结果的数量自动生成VBox。例如,如果结果数为3,则我希望自动生成3个VBox。 通过以下示例,我编写了以下代码:

但它不起作用:

@FXML
private AnchorPane apne;

@FXML
private VBox vbxOuter;

@FXML
private VBox vbxInner;


@Override
public void initialize(URL location, ResourceBundle resources) {
    // TODO Auto-generated method stub
    apne = new AnchorPane();
    vbxOuter = new VBox();

    getnewer(apne, vbxOuter, vbxInner);

}


public void getnewer(AnchorPane apne, VBox vbxtrue, VBox vbxmain){



    for(int i = 0; i<3 ; i++){

        vbxInner = new VBox(i+1);
        vbxOuter.getChildren().add(vbxInner);

    }

    apne.getChildren().addAll(vbxOuter);

}
@FXML
私人锚烷;
@FXML
专用VBox vbxOuter;
@FXML
私有VBox-vbxInner;
@凌驾
公共void初始化(URL位置、ResourceBundle资源){
//TODO自动生成的方法存根
apne=新的锚烷();
vbxOuter=新的VBox();
getnewer(apne、vbxOuter、vbxInner);
}
公共空间(AnchorPane apne、VBox vbxtrue、VBox vbxmain){

for(int i=0;i
apne
vbxOuter
应该已经存在,并且如果您使用FXML创建了它们,它们应该可以用于您的方法。您所要做的就是在您的方法中填充
vbxOuter

@FXML private AnchorPane apne;
@FXML private VBox vbxOuter;


@Override
public void initialize(URL location, ResourceBundle resources) {
    apne.getChildren().add(vbxOuter);

    int numberOfInnerVBoxes = 3;
    getnewer(numberOfInnerVBoxes);
}


public void getnewer(int num){
    for(int i = 0; i<num ; i++){
        vbxOuter.getChildren().add(new VBox(i+1));
    }
}
@FXML-私人锚烷呼吸暂停;
@FXML专用VBox vbxOuter;
@凌驾
公共void初始化(URL位置、ResourceBundle资源){
apne.getChildren().add(vbxOuter);
int numberofinnervbox=3;
getnewer(NumberOfInnerVbox);
}
public void getnewer(int num){

对于(int i=0;我移动这两行:
apne=new AnchorPane();vbxOuter=new VBox();
。您正在创建注入的节点,因此在GUI上可见的实际上不是您在代码中处理的节点。我按照您所说的做了,现在我收到了以下错误:“添加了重复的子节点:父节点=AnchorPane”[id=apne]“无需担心。我在循环中添加了这行代码”vbxOuter=new VBox(i+1);“错误消失了。嘿,我尝试了你的代码,我得到了这个错误:“原因:java.lang.IllegalArgumentException:Children:replicate Children added:parent=AnchorPane[id=apne]”)我在循环中添加了这行代码“vbxOuter=new VBox(I+1)”,它不再显示错误