我想遍历列表的每个对象。我想为每个条目创建一个如下所示的GUI对象:


左侧的复选框
中间的图像
(后)左侧的标签


我的问题是,每个标签的长度都不同,如果不是所有图片都在同一行上(垂直方向看),它看起来就会很奇怪。 javacss是否有可能将ImageVew对准HBox的中心?
imageView.setLayoutX(filterBox.getWidth()/2);并没有成功。并且似乎没有-fx-align: right;-fx-float: right;
我包括了到目前为止的一切。

VBox filtersBox = new VBox();
HBox filterBox;
for(Filter filter : filters.getFilters()){
     if(!filter.isComplex()){
          filterBox = new HBox();
          filterBox.getStyleClass().add("filter");
          ImageView imageView = new ImageView();
          [image view stuff]
          final CheckBox cbox = new CheckBox(filter.getName().toString());
          filterBox.getChildren().addAll(cbox, imageView);
          filtersBox.getChildren().addAll(filterBox);
     }
}

最佳答案

据我所知,这是不可能的。

不过,我看到了两种实现此布局的方法:


让所有复选框具有相同(恒定)的首选宽度。这样,您的图像视图应该对齐。
使用GridPane,然后添加行而不是HBox es

关于java - HBox for JavaFX内部元素的布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36015535/

10-13 05:08