Я создал TableView
в JavaFX, который динамически загружает VBox
s, содержащий список CheckBox
s в строке.Это показано на рисунке ниже:
Как видно на рисунке, метки рядом с флажками не совпадают с флажкомсам по себе.
Я использую следующее для динамического создания VBox:
private VBox getVBox(Map<Integer, String> item, Set<Integer> completed, String id) {
VBox box = new VBox();
box.setSpacing(0);
box.setPadding(new Insets(3,3,3,3));
for(Integer i : item.keySet()) {
CheckBox checkbox = new CheckBox(item.get(i));
checkbox.setId("item"+id+"-" + i.intValue());
if(completed.contains(i)) {
checkbox.setSelected(true);
}
checkbox.setPrefHeight(21);
box.getChildren().add(checkbox);
}
return box;
}
Даже если я удаляю настройки setSpacing
и настройки setPadding
и setPrefHeight
, проблемаостается неизменным.
Единственный CSS, который я применил к этой таблице, который по умолчанию не является следующим:
.table-view{
-fx-background-color: transparent;
}
.table-view:focused{
-fx-background-color: transparent;
}
.table-row-cell:odd{
-fx-background-color: #E0E0E0;
-fx-background-insets: 0, 0 0 1 0;
-fx-padding: 0.0em;
}
.table-row-cell:even{
-fx-background-color: #BBD9E0;
-fx-background-insets: 0, 0 0 1 0;
-fx-padding: 0.0em;
}
Мой вопрос: Как я могу сделатьметки флажков совпадают с флажками по вертикали?Разве это не может быть сделано с VBox
?
Спасибо за помощь.