【发布时间】:2013-12-02 05:14:22
【问题描述】:
在 Spring 框架中,我可以使用配置文件来加载类的成员变量。有没有办法在 javafx 中使用自定义控制器或自定义对象来做到这一点?
【问题讨论】:
标签: java dependency-injection controller javafx fxml
在 Spring 框架中,我可以使用配置文件来加载类的成员变量。有没有办法在 javafx 中使用自定义控制器或自定义对象来做到这一点?
【问题讨论】:
标签: java dependency-injection controller javafx fxml
@FXML 注释使您定义的名称为 (fx:id) 的 JavaFX 对象能够在从 fxml 标记加载场景图时将其引用反射性地注入到控制器对象中的非公共字段中。
您可以通过在控制器对象的类中定义要设置为类变量的值,然后在 initialize() 中以编程方式(而不是在标记中)设置适当的对象属性,来完成与您所要求的非常相似的事情控制器对象的方法。
在场景图加载完成之后(因此所有 GUI 对象都将被实例化)但在控制权返回到应用程序的调用代码之前调用(如果存在)方法。
编辑
您只能在控制器中使用@FXML,该控制器是在 fxml 文件中专门设置的,并且只能用于该类的字段。
这是必需的,因为这些字段将在创建该类的对象期间自动初始化。
public class MyController implements Initializable{
@FXML
Button startButton;
void initialize(java.net.URL location, java.util.ResourceBundle resources) {
startButton.addActionLisetner(...);
}
}
详细教程here
【讨论】: