嵌套控制器的JavaFX8 fxml命名

嵌套控制器的JavaFX8 fxml命名,javafx,javafx-8,Javafx,Javafx 8,给定一个.fxml文件,包括: <fx:include fx:id="header" source="Header.fxml" /> 什么决定了控制器变量名?是否始终只是包含id后跟“Controller”?是的,注入控制器的字段名始终是通过将标记的fx:id与“Controller”串联而成的 它“隐藏”在的文档中 包含的fxml文件的控制器的后缀。完整密钥存储在名称空间映射中 (名称空间映射包含所有对象,如果存在这样的字段,则按它们被注入的字段名来表示。) 您可以在这里验证它的

给定一个.fxml文件,包括:

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

什么决定了控制器变量名?是否始终只是包含id后跟“Controller”?

是的,注入控制器的字段名始终是通过将
标记的
fx:id
“Controller”
串联而成的

它“隐藏”在的文档中

包含的fxml文件的控制器的后缀。完整密钥存储在名称空间映射中

(名称空间映射包含所有对象,如果存在这样的字段,则按它们被注入的字段名来表示。)


您可以在这里验证它的值是否为
“Controller”

文档中没有明确说明,但这就是我对它的解释(它似乎总是这样工作的。)有什么更好的方法来识别哪个控制器与fxml文件相关联?@SedrickJefferson类似header.getController()还有一个我可以控制的变量名?非常全面的答案!非常感谢。
@FXML private HBox header;
@FXML private HeaderController headerController;