依赖注入在 javafx 谷歌果汁中引发空指针异常

我有以下课程


public class InitialSetupWizardData {

   private final SimpleStringProperty licence_type = new SimpleStringProperty(this,"licenceType","");


  public String getLicence_type() {

    return licence_type.get();

  }


  public SimpleStringProperty licence_typeProperty() {

    return licence_type;

  }


  public void setLicence_type(String licence_type) {

    this.licence_type.set(licence_type);

  }

}

现在我想将它注入我的 javafx 控制器。我添加了以下内容


public class Controller implements Initializable {

   @Inject

   InitialSetupWizardData data;


   @Override

   public void initialize(URL location, ResourceBundle resources) {

     data.setLicence_type("Am cool");

   }

}

上面总是在 data.set 抛出一个空指针异常......我在使用谷歌果汁库时错过了什么


繁星coding
浏览 119回答 1
1回答

德玛西亚99

注射不会自动发生。对于控制器对象FXMLLoader创建,注入不会发生。要更改此设置controllerFactory,请在加载 fxml 时使用。以下示例需要Injector以正确创建控制器类实例的方式进行设置:Injector injector = ...FXMLLoader loader = new FXMLLoader(url);loader.setControllerFactory(injector::getInstance);Parent parent = loader.load();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java