FXMLLoader getController()返回NULL

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (132)

因此,我对JavaFX和一般编程都很陌生,而且我遇到了一个问题,我无法将fxml文件Controller放入我的程序中。这是代码

@FXML
private void handleBtnAdicionarAction(ActionEvent event) throws IOException {   
    Stage adicionarStage = new Stage();
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/AdicionarWindow.fxml"));
    Parent root = (Parent) loader.load();
    Scene scene = new Scene(root);
    adicionarStage.setScene(scene);
    adicionarStage.centerOnScreen();
    adicionarStage.show();
    awUI = loader.getController();
    System.out.println(awUI);
    awUI.associarController(this);
}

在我这样做后,字段awUI应该包含我正在加载的文件的Controller,但是它是空的.我一直在做其他的项目,我做这个方法,它一直在工作,我不知道这里可能有什么问题。有人能帮我吗?

提问于
用户回答回答于

如果你使用IntelliJ标记资源目录,请右键单击资源文件夹,选择Mark Directory as - > Resources Root。在你的资源文件夹中,应该有一个包含您的AdicionarWindow.fxml文件的fxml。如果不使用Intellij,请检查IDE如何与Resources文件夹一起使用。

扫码关注云+社区

领取腾讯云代金券