Переменная остается нулевой после использования установщика в JavaFx ⇐ JAVA
Переменная остается нулевой после использования установщика в JavaFx
Я пытаюсь создать банковскую систему на Java, используя JavaFX. Я хочу установить для текста метки строковое значение переменной при переключении сцены. У меня есть метод set в контроллере второй сцены, но переменные остаются нулевыми, и я не знаю почему.
Вот контроллер первой сцены. С переменной ACCOUNT_NUMBER все в порядке, у меня нет проблем. Также я хочу отметить, что validate(conn, ACCOUNT_NUMBER, PIN) предназначен для функции базы данных и работает.
публичный класс LogInController расширяет SQLConnection{ @FXML частный TextField accountNumberTextField; @FXML частный TextField pinTextField; Сцена сцены; Сценический этап; public void logIn(ActionEvent e) выдает IOException { конечная строка ACCOUNT_NUMBER = accountNumberTextField.getText(); окончательный int PIN = Integer.parseInt(pinTextField.getText()); if(accountNumberTextField.getText().isEmpty() || pinTextField.getText().isEmpty()){ Диалог Dialog = новый Dialog(); диалог.setTitle("Вам необходимо заполнить все поля"); диалог.setContentText("Вам необходимо написать номер своего счета и PIN-код."); Тип ButtonType = новый ButtonType («ОК»); диалог.getDialogPane().getButtonTypes().add(тип); диалог.шоу(); } if(!validate(conn, ACCOUNT_NUMBER, PIN)){ Загрузчик FXMLLoader = новый FXMLLoader(getClass().getResource("dashboard.fxml")); Родительский корень = loader.load(); DashboardController DashboardController = loader.getController(); DashboardController.setNUMBER_ACCOUNT(ACCOUNT_NUMBER); stage = (Stage)((Node)e.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } } } публичный класс DashboardController реализует Initializable { @FXML номер частной меткиAccountLabel; Строка NUMBER_ACCOUNT; // Вот тут у меня и возникла проблема. переменная NUMBER_ACCOUNT остается нулевой. Я знаю, что переменную не следовало писать так. общественная недействительность setNUMBER_ACCOUNT (строка NumberAccount) { NUMBER_ACCOUNT = номер счета; } @Override public void инициализировать (URL-адрес, ResourceBundle resourcesBundle) { NumberAccountLabel.setText(NUMBER_ACCOUNT); } }
Я пытаюсь создать банковскую систему на Java, используя JavaFX. Я хочу установить для текста метки строковое значение переменной при переключении сцены. У меня есть метод set в контроллере второй сцены, но переменные остаются нулевыми, и я не знаю почему.
Вот контроллер первой сцены. С переменной ACCOUNT_NUMBER все в порядке, у меня нет проблем. Также я хочу отметить, что validate(conn, ACCOUNT_NUMBER, PIN) предназначен для функции базы данных и работает.
публичный класс LogInController расширяет SQLConnection{ @FXML частный TextField accountNumberTextField; @FXML частный TextField pinTextField; Сцена сцены; Сценический этап; public void logIn(ActionEvent e) выдает IOException { конечная строка ACCOUNT_NUMBER = accountNumberTextField.getText(); окончательный int PIN = Integer.parseInt(pinTextField.getText()); if(accountNumberTextField.getText().isEmpty() || pinTextField.getText().isEmpty()){ Диалог Dialog = новый Dialog(); диалог.setTitle("Вам необходимо заполнить все поля"); диалог.setContentText("Вам необходимо написать номер своего счета и PIN-код."); Тип ButtonType = новый ButtonType («ОК»); диалог.getDialogPane().getButtonTypes().add(тип); диалог.шоу(); } if(!validate(conn, ACCOUNT_NUMBER, PIN)){ Загрузчик FXMLLoader = новый FXMLLoader(getClass().getResource("dashboard.fxml")); Родительский корень = loader.load(); DashboardController DashboardController = loader.getController(); DashboardController.setNUMBER_ACCOUNT(ACCOUNT_NUMBER); stage = (Stage)((Node)e.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } } } публичный класс DashboardController реализует Initializable { @FXML номер частной меткиAccountLabel; Строка NUMBER_ACCOUNT; // Вот тут у меня и возникла проблема. переменная NUMBER_ACCOUNT остается нулевой. Я знаю, что переменную не следовало писать так. общественная недействительность setNUMBER_ACCOUNT (строка NumberAccount) { NUMBER_ACCOUNT = номер счета; } @Override public void инициализировать (URL-адрес, ResourceBundle resourcesBundle) { NumberAccountLabel.setText(NUMBER_ACCOUNT); } }