从JavaFX FXML控制器类(ConfirmBox)结束本阶段

时间:2019-06-30 12:31:24

标签: java javafx controller fxml

我是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();
    }

}

0 个答案:

没有答案