FXMLLoader getController()返回null

时间:2018-07-02 13:39:38

标签: java controller fxml fxmlloader

因此,我一般不熟悉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,但结果为null ...我正在做此方法的其他项目,但它一直在工作,我不知道这里可能是错的。有人可以帮我弄这个吗 ?

1 个答案:

答案 0 :(得分:0)

如果您使用的是IntelliJ,请标记您的资源目录,方法是右键单击 resource 文件夹,选择“标记目录为->资源根目录”。在 resources 文件夹中,应该有一个包含您的 AdicionarWindow.fxml 文件的fxml。 如果不使用Intellij,请检查您的IDE如何与Resources文件夹一起使用。

有关intellij的更多信息,请单击here