JavaFX8 fxml嵌套控制器的命名

鉴于.fxml包含如下:

<fx:include fx:id="header" source="Header.fxml" />

Java FXML docs说创建两个变量,如:

@FXML private HBox header;
@FXML private HeaderController headerController;

什么决定了控制器变量名?它总是只是包含ID后跟“控制器”吗?

是的,控制器注入的字段名称总是通过连接< fx:include>的fx:id来构造的.用“控制器”标记.

它在the FXMLLoader.CONTROLLER_SUFFIX field的文档中“隐藏”.

A suffix for controllers of included fxml files. The full key is stored in namespace map.

(命名空间映射包含它们被注入的字段名称的所有对象,如果存在这样的字段.)

您可以在此处验证其值是“Controller”:https://docs.oracle.com/javase/8/javafx/api/constant-values.html#javafx.fxml.FXMLLoader.CONTROLLER_SUFFIX

https://stackoverflow.com/questions/44467982/javafx8-fxml-naming-of-nested-controllers

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:JavaFX8 fxml嵌套控制器的命名