强制修复GridPane中的间隙?

时间:2019-05-02 19:07:17

标签: java javafx layout fxml gluon

我将JavaFX与FXML结合使用,并且希望以1:1大小(正方形)显示一些图块。

在我的initialize方法(gluon javafx移动应用程序)中,我使用下面的代码使我的方块变为二次方。

GridPane具有vgap和hgap设置。因此,如果运行下面的代码,则图块为正方形,但行之间的间距大于我的设置数字,因为GridPane现在大于所需的值,因为图块在运行时收缩了。是否可以通过任何方式固定行之间的间距大小或强制GridPane随孩子的身高缩小?

我在fxml中尝试了很多东西,包括间隙,对齐方式,percentWidth等...我希望有人能帮助我:)

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 :(得分:0)

我自己找到了答案:

在网格窗格的末尾添加一个空行,并设置以下RowConstraints:

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