我想在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);