Закрытие этапа из класса контроллера JavaFX FXML (ConfirmBox) - PullRequest
0 голосов
/ 30 июня 2019

Я новичок в JavaFX, и я разрабатываю простое приложение, и мне нужно создать окно подтверждения для закрытия этапа. Я сделал это без проблем без FXML, когда у меня в том же методе есть инициализация и закрытие этапа. Но когда я делаю это с FXML, когда я открываю сцену в другом классе, она не закрывает его из класса контроллера, даже если я создаю глобальный экземпляр стадии.

public class ConfirmBox {

    private Stage confirmBoxStage = new Stage();
    boolean confirmClose;


    // Confirm box -----------------------------------------------------------------------------------------------------
    public boolean confirmClose() {

        Parent rootConfirmBox = null;

        confirmBoxStage.initModality(Modality.APPLICATION_MODAL);



        try {
            rootConfirmBox = FXMLLoader.load(getClass().getResource("ConfirmBox.fxml"));;
        } catch (IOException e) {
            System.out.println("Exception ConfirmBox.java//confirmBoxScene");
            e.printStackTrace();
        }


        Scene confirmBoxScene = new Scene(rootConfirmBox, 640, 480);
        confirmBoxStage.setScene(confirmBoxScene);
        confirmBoxStage.showAndWait();

        return confirmClose;
    }

    // Closing the confirm box -----------------------------------------------------------------------------------------
    public void closeConfirmBox() {
        confirmBoxStage.close();
    }

}
...