JavaFX - FXMLLoder getController() returns 空

JavaFX - FXMLLoder getController() returns null

这让我抓狂。我正在尝试从 FXML Loder 获取控制器,但我收到 NullPointerException。

class 我试图获取控制器数据的地方。

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) 行的注释时它没有给我异常。

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