【问题标题】:Force fix gaps in a GridPane?强制修复 GridPane 中的间隙?
【发布时间】:2019-09-21 08:20:33
【问题描述】:

我将 JavaFX 与 FXML 一起使用,我想以 1:1 大小(正方形)显示一些图块。

在我的初始化方法(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())));

【问题讨论】:

  • 您可以分别使用ColumnConstraintsRowConstraints控制列宽和行高。

标签: java javafx layout fxml gluon


【解决方案1】:

我自己找到了答案:

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

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

【讨论】:

    猜你喜欢
    • 2013-08-01
    • 1970-01-01
    • 2018-11-01
    • 2017-10-26
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2020-03-08
    • 2018-07-14
    相关资源
    最近更新 更多