2016-10-26 20 views
0

fxmlファイルのコントローラを取得するためにいくつかのコマンドを使用しました。最初に私はこのようなアドレスを使用:fx:controller = ""で指定する必要があります

fx:controller="PersonOverviewController" 

とメインクラスのコードは、この

FXMLLoader loader = new FXMLLoader(); 
loader.setLocation(MainApp.class.getResource("view/PersonOverview.fxml")); 
AnchorPane ap = loader.load(); 

PersonOverviewController pc = loader.getController(); 
pc.setTableContent(this); 

のようだったが、それは動作しません。 別の試みで、私は

fx:controller="address.view.PersonOverviewController" 

、それが働いていたこの時間を変更しました。 これはなぜですか?

答えて

3

FXMLLoaderコントローラクラスのbinary nameを指定する必要があります。 PersonOverviewControllerのパッケージがaddress.viewの場合は、それを属性値に含める必要があります。いかなるコントローラファクトリが設定されていない場合

FXMLLoaderは、基本的に、このようなコントローラのインスタンスを作成する:

String fxController = ... 
Class controllerClass = getClassLoader().loadClass(fxController); 
Object controller = controllerClass.newInstance(); 
関連する問題