По умолчанию GridPane
пытается изменить размер всех ячеек до желаемого размера их содержимого. (Если есть дополнительное пространство, он попытается распределить его равномерно или в соответствии с ограничениями, установленными для узлов, строк или столбцов.) Когда вы добавляете изображение на кнопку, вы увеличиваете предпочтительную высоту кнопки, поэтому вы увеличиваете пространство, выделенное ячейке, содержащей эту кнопку.
Вы можете изменить поведение по умолчанию, установив RowConstraints
в GridPane
(чтобы изменить способ распределения вертикального пространства для каждой строки) и ColumnConstraints
(чтобы контролируйте горизонтальное пространство, выделенное для каждого столбца).
Если вы хотите полностью ограничить высоту каждой строки, установите min
, pref
и maxHeight
для всех строк:
for (int j = 0 ; j < 5 ; j++) {
RowConstraints rc = new RowConstraints();
rc.setMinHeight(100);
rc.setPrefHeight(100);
rc.setMaxHeight(100);
gameTable.getRowConstraints().add(rc);
}
Если вы хотите установить высоту пропорционально, используйте setPercentHeight()
:
for (int j = 0 ; j < 5 ; j++) {
RowConstraints rc = new RowConstraints();
rc.setPercentHeight(100.0 / 5);
gameTable.getRowConstraints().add(rc);
}