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

Spring框架中,我可以使用配置文件来加载类的成员变量.有没有办法在javafx中使用自定义控制器或自定义对象执行此操作?
最佳答案
@FXML注释使得您定义的名称(fx:id)的JavaFX对象能够将其引用反射注入控制器对象中的非公共字段,因为场景图是从fxml标记加载的.

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

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

编辑

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

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

 public class MyController implements Initializable{

      @FXML
      Button startButton;

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

 }

详细教程是here

转载注明原文:如何初始化自定义javafx控制器的成员变量? - 代码日志