使用percentHeight时javafx 2 gridpane行重叠

ben*_*nyl 2 java layout javafx gridpanel javafx-2

我正在尝试在 JavaFX 中布局屏幕,但在使用 GridPane 时遇到问题。我有 2 行 - 其中一行设置为 80,另一行设置为 20,但我看到的是一行与另一行重叠

这是一个小插图(如果你可以这样称呼它:)),希望能够演示我的意思(数字表示行号,“*”表示重叠)

1   label1     <--- belongs to row 1
1   list1
1   |
1   | 
1   |
12  |  *  label2   <---  belongs to row 2
12  |  *  list2
 2        |
 2        |
Run Code Online (Sandbox Code Playgroud)

有人遇到过这个问题吗?我做错什么了吗?

ben*_*nyl 5

只需找出问题所在 - 在我的布局中,我使用嵌套网格窗格,它们的内容是自动生成的,无需添加行约束。

因为它发现如果没有向网格窗格添加行约束,则使用默认约束,这些默认值具有最小大小,这导致网格窗格自身具有“未声明”/隐式最小大小,这就是为什么我添加的约束( 80 : 20%) 被忽略 - 因为不同网格的隐式最小尺寸没有留下太多调整大小的空间,最后 - 因为在计算网格的最小尺寸后,页面中没有足够的空间来显示它们——它们重叠。

令人失望的是 - 我使用了 showGridLines 并且显示的行没有反映最小行大小。

在我手动添加最小大小为 0 的行约束后,问题得到解决。