Передача переменной в другой контроллер

Здравствуйте, я делаю программу javafx, и у меня возникла проблема: я передаю значение переменных здесь в другой контроллер с этим

    buttonSignIn.setOnAction(e -> {
        try {
            User user = new User();
            user.setUsername(userName.getText().trim());
            user.setPassword(password.getText().trim());


            if (DB.validateLogin(user)){
                // change scene if this is true
                userId = DB.getUserId(user);
                System.out.println("Controller: users name: "+user.getUsername()+"users id: "+ userId);

                buttonSignIn.getScene().getWindow().hide();
                FXMLLoader loader = new FXMLLoader();
                loader.setLocation(getClass().getResource("/sample/view/user.fxml"));
                loader.load();

                Parent root = loader.getRoot();
                Stage stage = new Stage();
                stage.setScene(new Scene(root));

                UserController userController = loader.getController();
                userController.setUserId(userId);

                stage.showAndWait();

            }else{
                System.out.println("please type your username and password");

            }

        }catch (Exception ex){
            System.out.println("problem ..."+ ex);
        }
    });

я передаю его в "userController" код в userController: в методе инициализации у меня есть

usersLabel.setText(" users id is : "+getUserId());
System.out.println("User controller: users id is : "+ getUserId());

и вне инициализации у меня есть геттеры и сеттеры

public void setUserId(int id) {
    this.userId = id;
    System.out.println("User controller: users controller : "+userId);
    System.out.println("User controller: what is this?"+ getUserId());
}



public  int getUserId(){

    return userId;
}

и результаты, которые я получаю,

  • Контроллер: имя пользователя: идентификатор биллюсера: 1

  • Контроллер пользователя: идентификатор пользователя: 0

  • Пользовательский контроллер: пользовательский контроллер: 1

  • Пользовательский контроллер: что это? 1

Я хочу установить метку с правильным значением userId, но значение в инициализации равно 0 вместо любого числа, где находится идентификатор, в данном случае это было 1

Задайте текст метки в методе setUserId(...) ...

James_D 30.04.2018 00:54

о .. да, я не думаю, почему я не подумал об этом .. спасибо!

billzg 30.04.2018 00:59
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
24
0

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