JavaFX - FXMLLoder getController() возвращает ноль

Это сводит меня с ума. Я пытаюсь получить контроллер от загрузчика FXML, но получаю исключение 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 ответ

Решение

В контроллере я объявил объект FXML как метку вместо текстового объекта. Также в коде, который я написал здесь, я попытался напечатать имя администратора, прежде чем я фактически назначил объект контроллеру.

Другие вопросы по тегам