如何初始化自定义javafx控制器的成员变量?

如何初始化自定义javafx控制器的成员变量?,java,dependency-injection,controller,javafx,fxml,Java,Dependency Injection,Controller,Javafx,Fxml,在Spring框架中,我可以使用配置文件加载类的成员变量。在javafx中,有没有一种方法可以通过自定义控制器或自定义对象来实现这一点?当从FXML标记加载场景图时,@FXML注释使您定义了其名称的javafx对象(fx:id)能够将其引用反射地注入控制器对象中的非公共字段中 通过在控制器对象的类中定义要设置为类变量的值,然后在控制器对象的initialize()方法中以编程方式(而不是在标记中)设置适当的对象属性,可以完成与请求非常类似的任务 initialize()方法在场景图加载完成后(因

在Spring框架中,我可以使用配置文件加载类的成员变量。在javafx中,有没有一种方法可以通过自定义控制器或自定义对象来实现这一点?

当从FXML标记加载场景图时,@FXML注释使您定义了其名称的javafx对象(fx:id)能够将其引用反射地注入控制器对象中的非公共字段中

通过在控制器对象的类中定义要设置为类变量的值,然后在控制器对象的initialize()方法中以编程方式(而不是在标记中)设置适当的对象属性,可以完成与请求非常类似的任务

initialize()方法在场景图加载完成后(因此所有GUI对象都已实例化)但在控件返回到应用程序的调用代码之前调用(如果存在)

编辑

您只能在FXML文件中专门设置的控制器中使用@FXML,并且只能用于该类的字段

这是必需的,因为这些字段将在创建该类对象的过程中自动初始化

 public class MyController implements Initializable{

      @FXML
      Button startButton;

      void initialize(java.net.URL location, java.util.ResourceBundle resources) {
           startButton.addActionLisetner(...);
      }

 }

详细的教程是

你有例子吗?谢谢你的回答,我发布了另一个问题,我认为它更适合我最初遇到的问题。