2016-05-30 48 views
0

这使我发疯。我试图从FXML Loder获得控制器,但我得到一个NullPointerException。JavaFX - FXMLLoder getController()返回null

我尝试获取控制器数据的类。

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(); 

XML文件,并在控制器,因为当我删除注释出它不给我一个异常ac.setLoggedIn(管理员)线工作的罚款。

+0

哪个引用实际上是null? –

+0

@James_D我尝试打印的行:ac.adminName.getText() – Arlind

+0

所以,回答我的问题。是'ac' null还是'adminName' null? –

回答

0

在控制器中,我已经将FXML对象声明为Label而不是文本对象。同样在我写在这里的代码中,我试图在将对象实际分配给控制器之前打印管理员名称。