Java FX 中的嵌套控制器问题

2024-03-19

我试图包括控制器(SelectedIssueController)在我的主要布局(main.fxml)。但我收到以下错误:

Can not set lt.mypackage.controllers.SelectedIssueController field lt.mypackage.controllers.MainController.selectedIssueController to javafx.scene.layout.VBox

main.fxml 中的行:

  <fx:include fx:id="selectedIssueController" source="controllers/selectedissue.fxml" />

我选择的issue.fxml:

<VBox xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1" fx:controller="lt.mypackage.controllers.SelectedIssueController" fillWidth="false" SplitPane.resizableWithParent="false">
    <children>
     .....
     .....
    </children>
</VBox>

Line in MainController:

@FXML
private SelectedIssueController selectedIssueController;

据我了解它注入VBox现在反对,但我需要SelectedIssueController。我当前的实施有什么问题?


The FXMLLoader追加Controller to the fx:id中指定的fx:include元素来获取要注入控制器的字段的名称。因此它应该是:

@FXML
private SelectedIssueController selectedIssueControllerController;

or

<fx:include fx:id="selectedIssue" source="controllers/selectedissue.fxml" />

注入字段的值没有Controller后缀是为以下创建的值fx:include,即Object为包含的 fxml 的根创建。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java FX 中的嵌套控制器问题 的相关文章

随机推荐