JavaFX - FXMLLoder getController()返回null

时间:2016-05-30 20:25:18

标签: java javafx java-8 fxml

这让我疯了。我试图从FXML Loder获取控制器,但我得到一个NullPointerException。

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

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(admin)行中的注释时,它不会给我一个例外。

1 个答案:

答案 0 :(得分:0)

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