JavaFX的尺寸存在疑问

时间:2016-04-06 14:04:11

标签: javafx javafx-8

如果我有一个带有BorderPane的窗口,其大小属性为:

  • 最小宽度:USE_PREF_SIZE。
  • 最小高度:USE_PREF_SIZE。
  • Pref宽度:600。
  • Pref Height:400。
  • 最大宽度:USE_PREF_SIZE。
  • 最大高度:USE_PREF_SIZE。

为什么我可以调整窗口大小?我还不清楚这些属性是如何工作的(我阅读了API,但我仍然不理解)。

1 个答案:

答案 0 :(得分:2)

父布局窗格使用Region的最小/最大/ pref宽度和高度来确定如何调整和定位该窗格的子节点。因此,如果您将边框窗格放在管理布局的父窗格(即Pane的子类)中,则会尽可能遵守这些设置。

但是,Scene不是布局窗格,基本上不执行布局。它有一个root节点(Parent个实例),只需将根大小调整为Scene的大小。反过来,场景按窗口大小,取决于窗口的大小减去窗口边框和装饰所需的任何空间。

因此,BorderPane上的这些设置对窗口的可重新设定性没有影响。要关闭调整窗口大小的功能,请使用窗口方法setResizable(false)。同样,如果要在窗口上施加最小或最大尺寸,请使用窗口最小/最大宽度/高度属性。