1

使用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>

4

1 回答 1

2

有两种方法可以做到:

在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在评论中指出的那样,您也可以使用fx:include

<center>
    <fx:include source="center.fxml"/>
</center>

在这两个选项中,它与topbottom和相同。leftright

于 2020-01-21T16:15:18.983 回答