JavaFX 使用 FXML 文件构建 borderPane
JavaFX building borderPane with FXML files
使用 BorderPane
布局,您可以使用单独的 FXML 文件填充它的每个部分(顶部、左侧、中心、右侧和底部)吗?
所以我会 main.fxml 像:
<BorderPane fx:controller="main.mainController" xmlns:fx="http://javafx.com/fxml" >
<top>
reads from top.fxml
</top>
<left>
reads from left.fxml
</left>
<center>
reads from center.fxml
</center>
<right>
reads from right.fxml
</right>
<bottom>
reads from bottom.fxml
</bottom>
</BorderPane>
有两种方法可以做到:
添加到java
加载 BorderPane
后,您可以加载其他 FXML 文件并将它们放入 BorderPane
。
例如
BorderPane root=FXMLLoader.load(this.getClass().getResource("root.fxml");//maybe this.getClass().getClassLoader().getResource("root.fxml"), depending on project structure
AnchorPane center=FXMLLoader.load(this.getClass().getResource("center.fxml");//maybe this.getClass().getClassLoader().getResource("center.fxml"), depending on project structure
root.setCenter(center);
stage.setScene(new Scene(root));
在 FXML 中
作为@Sedrick points out in the comments, you can also use fx:include:
<center>
<fx:include source="center.fxml"/>
</center>
在这两个选项中,它与 top
、bottom
、left
和 right
相同。
使用 BorderPane
布局,您可以使用单独的 FXML 文件填充它的每个部分(顶部、左侧、中心、右侧和底部)吗?
所以我会 main.fxml 像:
<BorderPane fx:controller="main.mainController" xmlns:fx="http://javafx.com/fxml" >
<top>
reads from top.fxml
</top>
<left>
reads from left.fxml
</left>
<center>
reads from center.fxml
</center>
<right>
reads from right.fxml
</right>
<bottom>
reads from bottom.fxml
</bottom>
</BorderPane>
有两种方法可以做到:
添加到java
加载 BorderPane
后,您可以加载其他 FXML 文件并将它们放入 BorderPane
。
例如
BorderPane root=FXMLLoader.load(this.getClass().getResource("root.fxml");//maybe this.getClass().getClassLoader().getResource("root.fxml"), depending on project structure
AnchorPane center=FXMLLoader.load(this.getClass().getResource("center.fxml");//maybe this.getClass().getClassLoader().getResource("center.fxml"), depending on project structure
root.setCenter(center);
stage.setScene(new Scene(root));
在 FXML 中
作为@Sedrick points out in the comments, you can also use fx:include:
<center>
<fx:include source="center.fxml"/>
</center>
在这两个选项中,它与 top
、bottom
、left
和 right
相同。