FXML minHeight & minWidth 属性被忽略?



如何设置窗口的最小大小?我尝试设置minHeight minWidth值,但我仍然可以用鼠标在该值下调整窗口的大小。

这是我的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。

相关内容

  • 没有找到相关文章

最新更新