在我的fxml
文件中,根元素如下所示:
<SplitPane dividerPositions="0.5" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.AbweichungenKonfigurationController">
...
</SplitPane>
调用fxml文件的类看起来像这样:
现在,fxml文件中定义的大小:
prefHeight="600.0" prefWidth="900.0"
被场景大小覆盖:
primaryStage.setScene(new Scene(root, 1000, 800));
出现的窗口具有在场景的构造函数中定义的大小!
有没有机会使用fxml文件中定义的大小?或者我该如何处理这个问题?
答案 0 :(得分:0)
Scene
将强制其根取Scene
的大小,而不管其min / pref / max大小。
尝试将SplitPane
包裹在StackPane
中,StackPane
没有大小限制。 StackPane
将尊重SplitPane
的首选尺寸:
<StackPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.AbweichungenKonfigurationController">
<SplitPane dividerPositions="0.5" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="900.0" >
...
</SplitPane>
</StackPane>