Я использую GridPane для своего макета JavaFX и всегда использую проценты ширины для ColumnConstraints, но в одном конкретном случае кажется, что это не работает: когда я устанавливаю процент ширины ColumnConstraints внутри массива.
Мой код:
ColumnConstraints[] myColumns = Factory.createColumns(3);
myColumns[0].setPercentWidth(35);
myColumns[1].setPercentWidth(12);
myColumns[2].setPercentWidth(53);
devicePane.getColumnConstraints().setAll(myColumns);
Массив получен из моего служебного метода для создания столбцов с использованием поровну разделенных размеров:
public static final ColumnConstraints[] createColumns(int count) {
ColumnConstraints[] columns = new ColumnConstraints[count];
ColumnConstraints column = new ColumnConstraints(1, 10, Double.MAX_VALUE);
column.setPercentWidth(100/count);
column.setFillWidth(true);
column.setHgrow(Priority.ALWAYS);
column.setHalignment(HPos.CENTER);
for(int i = 0; i < count; i++) {
columns[i] = column;
}
return columns;
}
Результат: Столбцы со старым процентом ширины
Но ожидается: Столбцы с правильным процентом ширины