2016-03-20 20 views
2

İç denetleyici sorunu denetleyicimi (SelectedIssueController) ana düzenime dahil etmeye çalışıyorum (main.fxml). main.fxml içindeJava FX

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

Hattı:

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

Benim selectedissue.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> 

Hat MainController yılında:

@FXML 
private SelectedIssueController selectedIssueController; 

Ama aşağıdaki hatayı alıyorum Anladığım kadarıylaenjekteşimdi nesne, ancak SelectedIssueController'a ihtiyacım var. Mevcut uygulamamın nesi yanlış?

cevap

3

FXMLLoader için denetleyiciye enjekte etmek alanın adını almak için fx:include öğesinde belirtilen fx:id için Controller ekler.

@FXML 
private SelectedIssueController selectedIssueControllerController; 

veya

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

Controller eki olmayan alana enjekte değeri dahil fxml kök için oluşturulan Object yani fx:include için oluşturulan değerdir: Dolayısıyla o da olmalı .

+0

Çalışıyor, teşekkürler :) – sider