如何动态添加按钮到fxml中创建的HBox?

时间:2018-01-22 21:03:14

标签: java javafx hbox

我想在fxml中添加按钮以创建HBox。一切都已被绘制,我正在从数据库中收集一些数据,创建按钮,但当我尝试添加它时,说HBox,它不会添加它们。

FXMLLoader myLoader = new FXMLLoader(getClass().getResource("/fxml_cart.fxml"));
AnchorPane root = (AnchorPane) myLoader.load();
Scene scene = new Scene(root);
Stage stage = new Stage();
stage.setScene(scene);
stage.resizableProperty().setValue(Boolean.FALSE);
Main.getMainStage().close();
Main.setMainStage(stage);
List<Products> productsList = MySQLOperations.getProductsListByCategory("1");
List<ProductCategory> productCategory = MySQLOperations.getProductCategoryList();
System.out.println(productCategory.size());
List<Button> listProductCategory = new ArrayList<>();
HBox listCategoryHBox = new HBox();
for (ProductCategory pc : productCategory) {
    Button productCategoryBtn = new Button();
    productCategoryBtn.setText(pc.getCategoryName());
    // productCategoryBtn.setOnAction(value);
    productCategoryBtn.setId("productCategoryBtn_" + pc.getKeyProductCategory());
    productCategoryBtn.setPrefWidth(88);
    productCategoryBtn.setPrefHeight(32);
    listProductCategory.add(productCategoryBtn);
}
listCategoryHBox.getChildren().addAll(listProductCategory);
CartController fxmlCont = (CartController) myLoader.getController();
fxmlCont.setProducts(listCategoryHBox);
stage.show();

我甚至创建了一些临时HBox,所以我可以以某种方式推送它。在CartController中是fxml_cart.fxml的控制器,并且在其中

@FXML
private HBox products;

关于女巫,我打电话给fxmlCont.setProducts(listCategoryHBox);

0 个答案:

没有答案