我将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())));
答案 0 :(得分:0)
我自己找到了答案:
在网格窗格的末尾添加一个空行,并设置以下RowConstraints:
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="NEVER" />
<RowConstraints vgrow="ALWAYS" />