Принудительно исправлять пробелы в GridPane? - PullRequest
0 голосов
/ 02 мая 2019

Я использую JavaFX с FXML и хочу показать несколько плиток размером 1: 1 (квадраты).

В моем методе инициализации (мобильное приложение gluon javafx) я использую приведенный ниже код, чтобы сделать мои плитки квадратными.

GridPane имеет набор vgap и hgap. Поэтому, если приведенный ниже код выполняется, плитки являются квадратами, но разрыв между строками больше, чем мой номер набора, потому что GridPane теперь больше, чем нужно, потому что плитки были сжаты во время выполнения. Есть ли способ каким-либо образом исправить размер зазора между строками или заставить GridPane уменьшаться с ростом детей?

Я пробовал в fxml очень много вещей с пробелами, выравниванием, процентной шириной и т. Д. И т. Д. Я надеюсь, что кто-нибудь может мне помочь:)

primary.getChildren().stream().filter(n -> n instanceof GridPane).forEach(g -> ((GridPane) g).getChildren().stream().filter(n -> n instanceof Button).forEach(b -> ((Button) b).maxHeightProperty().bind(((Button) b).widthProperty())));

1 Ответ

0 голосов
/ 19 мая 2019

Я нашел ответ сам:

Добавьте пустую строку в конец области сетки и установите следующие RowConstraints:

<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" /> 
<RowConstraints vgrow="ALWAYS" />
...