HBox for JavaFX内部元素的布局

时间:2016-03-15 15:28:08

标签: java css alignment javafx-8

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

  • 左侧的复选框
  • 中心的图像
  • (稍后)左侧的标签

我的问题是,每个标签都有不同的长度,如果不是所有图片都在同一条线上(如垂直所见),它看起来很奇怪。是java还是css是否有可能将ImageVewHBox的中心对齐? 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);
     }
}

1 个答案:

答案 0 :(得分:1)

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

我认为有两种方法可以实现这种布局:

  1. 让所有复选框都具有相同(常量)的首选宽度。这样您的图像视图就应该排成一行。
  2. 使用GridPane,然后添加行而不是HBox es