我想根据结果的数量自动生成VBox。例如,如果结果的数量是3,那么我想自动生成3个VBox。 我按照以下示例编写了以下代码:https://www.javacodegeeks.com/2012/07/javafx-20-layout-panes-hbox-and-vbox.html
但它不起作用:
@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);
}
apne是一个包含vbxOuter的锚点窗格。我希望vbxOuter根据结果的数量自动生成。 vbxinner将包含按钮和标签。我该怎么办?
答案 0 :(得分:1)
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));
}
}