JavaFX FXML 控制器:构造函数与初始化方法
了解初始化顺序
将 JavaFX 与 FXML 结合使用时,了解控制器的初始化顺序是至关重要的。创建 FXML 文件中指定的控制器类的实例后,会发生以下步骤:
-
构造函数调用: 调用控制器的默认构造函数。
-
FXML 字段填充: 控制器中用 @FXML 注释的任何字段都将使用中定义的相应组件进行填充FXML 文件。
-
initialize() 方法调用: 控制器的initialize() 方法被执行。
构造函数与initialize() 方法控制器初始化
构造函数和initialize()方法在初始化控制器时具有不同的目的控制器:
-
构造函数: 首先调用构造函数,并负责独立于 FXML 组件引用的任何初始化任务。
-
initialize()方法: 填充 FXML 字段后调用initialize() 方法。它提供了一个合适的机会来执行任何需要访问这些组件的后处理或附加初始化。
initialize() 方法访问 FXML 字段的重要性
访问FXML组件引用的initialize()方法至关重要。虽然构造函数无法访问这些引用,但initialize()方法可以使用它们来访问控件属性、设置事件侦听器或执行其他操作。
用法示例
在提供的代码示例,输出演示了此行为:
- MainViewController 的构造函数打印“第一个。”
- initialize() 方法打印“第二个。”
此序列说明了在填充 FXML 字段后调用了initialize() 方法,并且该方法是在适当的地方使用这些引用进行控制器初始化。
以上是JavaFX FXML 控制器:构造函数或 `initialize()` 方法 - 哪一个用于初始化?的详细内容。更多信息请关注PHP中文网其他相关文章!