TextField не обновляется в JavaFX - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть простой проект JavaFx с двумя сценами, когда я пытаюсь изменить значение TextField во втором представлении с первого контроллера, он не обновляется sh.

Чтобы загрузить второй контроллер из сначала я использовал этот код:

 @Override
    public void initialize(URL url, ResourceBundle rb) {

        wrk = Worker.getInstance();
        wrk.deserializeUsers("./users.object");
        FXMLLoader fxmlLoader = new FXMLLoader();
        try {
            GridPane p = fxmlLoader.load(getClass().getResource("/app/presentation/TextToPixelVIew.fxml").openStream());
            ctrl = (TextToPixelCtrl) fxmlLoader.getController();
        } catch (IOException ex) {
            Logger.getLogger(MainCtrl.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

И теперь я могу вызвать метод для изменения значения TextField во втором представлении: ctrl.loginSuccesfull ("C: // test")

Это метод для изменения значения TextField во втором контроллере:

    public void loginSuccesfull(String path) {
        txtFolder.setText(path);
        System.out.println(txtFolder.getText());
    }

Так что теперь, когда я вызываю метод loginSuccesfull, текст в поле не меняется, я знаю, что мой textField работает правильно, потому что я могу установить для него значение в методе initialize.

Я попытался напечатать значение TextField в методе loginSuccesfull, и значение фактически является значением, которое я только что установил перед строкой (txtFolde .setText (path))

Так что проблема в том, что мое значение textField не обновляется, когда я вызываю его из другого класса (MainCtrl)

...