答案 0 :(得分:3)
您可以在舞台上设置.setResizable(false);
,应该会有所帮助。
答案 1 :(得分:2)
您正在设置的值(可能是)为根Node
。这不会阻止Scene
或Stage
增长或缩小到指定值之外。实际上,根据根Node
设置这些值甚至不会阻止所说的Node
的增长或缩小。
来自Scene
的Javadoc:
应用程序必须通过设置root属性为场景图指定根Node。如果将“组”用作根,则场景图的内容将被场景的宽度和高度限制,并且场景尺寸的更改(如果用户调整了舞台的大小)将不会更改场景图的布局。如果将可调整大小的节点(布局区域或控件)设置为根,则根的大小将跟踪场景的大小,从而根据需要中继内容。
如果要限制Stage
的大小,则需要在代码中通过设置Stage
的适当属性来做到这一点:minWidth
,minHeight
,{ {1}}和maxWidth
。由于您正在设置maxHeight
和minWidth = maxWidth
,因此最好使用minHeight = maxHeight
(如Bernhard's answer中所述)。此选项还可以防止Stage.setResizable(false)
最大化(设置最小/最大尺寸属性不起作用)。尽管在我的计算机上,属性 do 在最大化时阻止Stage
增长,但会导致Stage
跳到左上角。
由于您无权访问Scene Builder使用的预览Stage
(据我所知),我认为您不能限制预览的大小。但是,您可能能够处理的一件事是,预览Stage
在关闭时会打开为其先前的大小。我不确定为什么这是默认/不可更改的行为,但是我猜测是由于每次使用相同的Stage
引起的。要将Stage
调整为首选大小,请访问:
Stage
这要求显示预览,否则菜单项被禁用。