2016-03-15 3 views
0

Я хочу прокрутить каждый объект списка. Для каждой записи я хочу, чтобы создать объект GUI, который выглядит следующим образом:Макет элементов внутри HBox для JavaFX

  • Флажок слева
  • изображения в центре
  • (позже) Метки на левые

Моя проблема заключается в том, что каждая метка имеет разную длину и выглядит довольно странно, если не все изображения находятся на одной линии (как видно вертикально). Есть ли возможность либо 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); 
    } 
} 

ответ

1

Насколько я знаю, это невозможно.

Я вижу два пути вы можете достичь этого макета, хотя:

  1. Есть все галочки имеют одинаковую (постоянную) предпочтительную ширину. Таким образом, ваши изображения должны совпадать.
  2. Используйте GridPane, и добавить строки вместо HBox эсов
+0

Хорошей идеи, работает для меня! Спасибо :) –

Смежные вопросы