好的,我有我的第一个JFX App Up&运行
现在,我在问自己,一切都很好地包裹在幕后。 如何通过适当的实例化将所有这些FXML转化为java代码?它是如何工作的?
谷歌如果我知道要写什么,但到目前为止,我发现了很多关于如何使用它的信息,但关于如何使用它并不多。
答案 0 :(得分:2)
魔法发生在FXMLLoader
内。
它接收FXML文件,并使用XML解析器解析它。您被迫使用一组明确定义的XML节点,并且加载器知道如何在运行时将每种类型的这些XML节点“转换”为相应的Java对象(到JavaFX Node
)。如果XML文件的格式不正确(不适合定义的结构),您将收到异常。通过这种方式创建节点,剩下一件事:填充控制器。
要填充控制器,它将使用反射创建指定控制器类的实例并设置其数据成员。它遍历内部的@FXML
个带注释的字段,然后将每个字段设置为一个具有匹配fx:id
属性的已创建对象。
默认情况下,在控制器实例上调用public initialize
方法。