我想遍历列表的每个对象。我想为每个条目创建一个如下所示的GUI对象:
左侧的复选框
中间的图像
(后)左侧的标签
我的问题是,每个标签的长度都不同,如果不是所有图片都在同一行上(垂直方向看),它看起来就会很奇怪。 java
或css
是否有可能将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/