【问题标题】:How to add FXML with controller to each cell in GridPane如何将带有控制器的 FXML 添加到 GridPane 中的每个单元格
【发布时间】:2017-12-15 02:01:57
【问题描述】:

我有以下类和 fxml:

  • 包含 GridPane 的选项卡 (TabPane)。
  • MainWindow.fxml 包含选项卡(其中一个选项卡具有 GridPane)
  • GAdata.fxml(带有 GDdataController.java 控制器类)

我想要有 2 行 2 列的网格

我想将 GAdata.fxml 添加到 GridPane 中的每个单元格

如何将 GAdata.fxml 添加到每个单元格? (此外,每个单元格都有自己的控制器(GDdataController.java)?

【问题讨论】:

  • 您确定每个单元都需要一个控制器吗?我建议您为每个单元格使用具有不同句柄的单个控制器。

标签: java javafx


【解决方案1】:

所以你有了.fxml的主文件,那么你可以使用

<fx:include source="">

您想从另一个.fxml 文件中添加数据的任何位置。 例如这种方式:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.GridPane?>
<AnchorPane xmlns="http://javafx.com/javafx"
        xmlns:fx="http://javafx.com/fxml"
        prefHeight="400.0" prefWidth="600.0">
    <GridPane fx:id="pane">
        <fx:include source="Child.fxml" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
        <fx:include source="Child.fxml" GridPane.columnIndex="1" GridPane.rowIndex="0"/>
        <fx:include source="Child.fxml" GridPane.columnIndex="0" GridPane.rowIndex="1"/>
        <fx:include source="Child.fxml" GridPane.columnIndex="1" GridPane.rowIndex="1"/>
    </GridPane>
</AnchorPane>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2019-02-02
    相关资源
    最近更新 更多