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