Диалоговые окна. Как получить данные от дочернего окна?

133
07 августа 2019, 11:40

Можно ли создать создать в JavaFx диалоговое окно что бы при вызове метода showDialog() он возвращал не которые парамеры, как это происходит в Alert и он возвращает какую кнопку нажал пользователь. И Как вообще получить данные от дочернего окна?

Answer 1

Как вариант, вы можете создать второе окно, передав в него ссылку на основной контроллер:

        Stage stage = new Stage();
        FXMLLoader loader = new FXMLLoader(getClass().getResource("/Resource.fxml"));
        Parent root = loader.load();
        NewFolderController lc = (NewFolderController) loader.getController();
        lc.main = this;
        stage.setTitle("Create folder");
        stage.setScene(new Scene(root, 400, 200));
        stage.initModality(Modality.APPLICATION_MODAL);
        stage.showAndWait();

Затем, в контроллере вашего второго окна, можно передавать данные в основной контроллер.

    @FXML
    VBox globParent;
    protected MainController main; // ссылка на основной контроллер
    main.newFileName = folderName.getText(); // передаем в основной контроллер какие-то данные
    globParent.getScene().getWindow().hide(); // закрываем текущее окно
READ ALSO
Открыть изображения в ListView из БД

Открыть изображения в ListView из БД

В БД сохранены ссылки на исображения которые локально хранятся на устройствеПри открытии лист вью я использую кастомный адаптер который...

121
Как получить класс из переменной и создать новый объект этого класса

Как получить класс из переменной и создать новый объект этого класса

Имеется запись вида: List list; В абстрактном классеВ наследниках через конструктор, я его инициализирую

122
Как связать бэкэнд и фронтэнд через nginx

Как связать бэкэнд и фронтэнд через nginx

написал учебное приложение: бэк на java(Spring boot), а фронт на angularjsСейчас пытаюсь запустить приложение, томкэт запускается на порту 8080

121