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 как метку вместо текстового объекта. Также в коде, который я написал здесь, я попытался напечатать имя администратора, прежде чем я фактически назначил объект контроллеру.