FXML 最小高度和最大宽度属性被忽略了吗?

FXML minHeight & minWidth attributs ignored?

如何为 window 设置最小尺寸?我尝试设置 minHeight minWidth 值,但我仍然可以使用鼠标在该值下调整 Window 的大小。

这是我的 FXML 根窗格:

<BorderPane fx:id="borderPane"
        minHeight="200" minWidth="400" prefHeight="600" prefWidth="800"
        xmlns="http://javafx.com/javafx/null"
        xmlns:fx="http://javafx.com/fxml/1"
        fx:controller="simulation.Simulation_Controller">
</BorderPane>

为此,您必须设置 StageminHeightminWidth

您的 java 代码中的某处...:

示例:

...
yourStage.setMinHeight(480);
yourStage.setMinWidth(640);
...

这是一个简单有效的解决方案:

Parent root = FXMLLoader.load(getClass().getResource("/your/layout.fxml"));

stage.setMinWidth(root.minWidth(-1));
stage.setMinHeight(root.minHeight(-1));

这会将舞台的最小大小设置为 FXML 文件的顶级元素中定义的值,如果未定义则为 0。