在强行退出JavaFX之前弹出窗口

时间:2017-09-25 04:13:48

标签: java javafx javafx-8 forceclose

所以我一直在使用基本的文本编辑器来练习javaFX。 我想这样做,以便当我使用任务管理器(在Mac和Windows上)或沿着这些行的任何东西强制退出时,会出现一个框,询问您是否要保存。我已经正常工作但没有强制退出。我一直在尝试使用关机钩子,我想知道我是否可以在那里做些什么来使它工作。

来自不同线程的

Platform.exit();不起作用:(

实施例

import javafx.application.Application;
import javafx.stage.Stage;


public class num1 extends Application{
public static void main(String[]args) {
    launch(args);
}

@Override
public void start(Stage mainStage) throws Exception {
    mainStage.setOnCloseRequest(e -> {
        System.out.print("QUIT");
    });
    mainStage.show();
}
}

使用mac上的强制退出或Windows上的任务管理器退出时不会触发操作

提前致谢。

1 个答案:

答案 0 :(得分:0)

我想这就是你要找的东西。

        stage.setOnCloseRequest(e->{  //stage is your Stage object
            myPopupFunction(); // your popup function
            e.consume(); // consume the event to not propagate further
        });