0

这是我想要完成的。

/Package A/
/Package A/ApplicationController.java
/Package A/Application.fxml

在我的 Application.fxml 文件中,我有一个按钮,当单击该按钮时,它会加载以下“MyGrid.fxml”文件。

/Package B/
/Package B/MyGrid.fxml (has a label #mygridlabelid

我正在使用的代码是:

ContentPane.getChildren().add((Node)FXMLLoader.load(getClass().getResource("/Package B/MyGrid.fxml")));

但问题是.. 即使我从 ApplicationController 加载 MyGrid.fxml 文件,我也无法从 ApplicationController 文件访问#mygridlabelid。我在 ApplicationController.java 文件中定义了@FXML 标签 mygridlabelid,但它没有被实例化:(

我怎样才能做到这一点?有什么技巧或技巧吗?

4

1 回答 1

2

我设法通过执行以下操作来解决问题......并确保 .fxml 文件没有 fx:controller 集。否则您将遇到“已指定控制器值”。

    FXMLLoader loader = new FXMLLoader(getClass().getResource("/your.fxml"));
    loader.setController(this);
    try {
        ContentPane.getChildren().add((Node)loader.load());
    } catch (IOException e){
        System.out.println(e.getMessage());
    }
于 2013-07-23T13:41:00.630 回答