gpt4 book ai didi

java - 如何限制用户可以调整 JavaFX 窗口大小的程度?

转载 作者:行者123 更新时间:2023-12-01 16:43:39 28 4
gpt4 key购买 nike

我正在寻找方法来限制用户可以调整应用程序主窗口大小的程度,而不完全阻止调整大小。具体来说,我想设置窗口的最小宽度和高度,您会认为 minWidthminHeight会实现这一点,但显然他们没有。

我的窗口的根元素(在 fxml 中声明)如下所示:

<VBox xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml"
fx:controller="com.my.module.FXMLController"
minWidth="400.0">
<!-- ... -->
</VBox>

但这一切minWidth似乎正在做的是设置窗口的初始大小。如果我尝试以用户身份调整窗口大小,我可以将其设置为与标题栏装饰一样小,这并不理想。

执行此操作的正确方法是什么?是否有一种声明性方法,而不是在用户“非法”调整窗口大小后强制恢复窗口的状态?此外,如果可能的话,我希望通过 FXML 文档而不是代码来完成此操作。

就上下文而言,这是 JVM 12 上的 JavaFX 12,我使用的是 Windows 10。
我在 SO 上发现了另一个类似的问题,但它没有得到解答,而且相当古老。

最佳答案

Stage具有宽度和高度属性,您可以使用Stage.setMinWidth()和.setMinHeight()。

您还可以像这样监听调整大小事件,

mainStage.widthProperty().addListener((o, oldValue, newValue)->{
if(newValue.intValue() < 400.0) {
mainStage.setResizable(false);
mainStage.setWidth(400);
mainStage.setResizable(true);
}
});

关于java - 如何限制用户可以调整 JavaFX 窗口大小的程度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57425534/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com