2016-05-30 7 views
0

これは私をナットにしています。 FXML Loderからコントローラを取得しようとしていますが、NullPointerExceptionが発生します。JavaFX - FXMLLoder getController()がnullを返します

コントローラデータを取得しようとするクラス。 xmlファイルとコントローラ

Node node= (Node) event.getSource(); 
Stage stage= (Stage) node.getScene().getWindow(); 
FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/admin.fxml")); 
BorderPane bp = loader.load(); 

Scene scene = new Scene(bp); 

stage.setScene(scene); 
adminController ac = loader.getController(); 
System.out.println(ac.adminName.getText()); 

ac.setLoggedIn(admin); 


stage.show(); 

は、私はそれは私に例外を与えるものではありませんac.setLoggedIn(管理者)の行をコメントアウト取り外すとき以来、正常に動作しています。

+0

どちらの参照が実際にヌルですか? –

+0

@James_D印刷しようとする行:ac.adminName.getText() – Arlind

+0

私の質問に答えてください。 'ac'はヌルか、' adminName'はヌルですか? –

答えて

0

コントローラでは、FXMLオブジェクトをテキストオブジェクトではなくラベルとして宣言しました。また、ここで書いたコードでは、コントローラーに実際にオブジェクトを割り当てる前に管理者名を印刷しようとしました。

関連する問題