没有左右儿童的JavaFX Borderpane

时间:2016-06-17 02:35:46

标签: java javafx fxml

我想知道是否有办法让Borderpane将节点设置在中心,以便在左右插槽中没有子节点时占据窗口的整个宽度。我使用Scene Builder来创建FXML文件,当前,当我调整应用程序窗口的大小时,中心节点的左侧,右侧和底部都有大量的空白区域。有没有办法摆脱它们?

以下是目前的情况:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您在BorderPane中居中Node,则会调整其大小以填充中心的剩余空间。

  

顶部和底部儿童将调整到他们喜欢的高度   并扩展边框窗格的宽度。左右儿童   将重新调整为其首选宽度并延长长度   顶部和底部节点之间。 中心节点将调整大小   填补中间的可用空间。任何职位都可能   空。

但是它会使用实际Node的布局边界来调整大小。

如果您查看Node的{​​{3}}和maxWidth方法的文档:

  

返回节点在布局中使用的最大宽度(高度)   计算。如果节点可调整大小,则其父节点不应调整大小   它的宽度任何大于这个值。值Double.MAX_VALUE   表示父节点可以将节点的宽度扩展到超出其首选范围   没有限制。

因此,如果没有看到您的实际代码,我猜问题是您已将控件的最大大小设置为BorderPane的中心,因此它不会超出该限制的大小。正如文档所述,您应将其设置为Double.MAX_VALUE,以使BorderPane能够调整其大小以填充整个空间。