java - 如何在 JavaFx 中捕获强制退出或意外关闭的事件?

标签 java javafx-2

我正在制作一个具有服务器登录和注销功能的桌面应用程序。

每当有人关闭窗口时,我都需要从应用程序注销,所以我正在使用这些代码

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                @Override
                public void handle(WindowEvent event) {
                    event.consume();
                    closeWindow();
                }
            });

其中 closeWindow() 包含注销和其他相关步骤。

现在,当应用程序意外关闭或有人从任务管理器强行退出/关闭它(通过结束进程)时会出现问题。

JavaFX 是否有捕获强制退出或意外关闭的事件?或者是否有任何方法可以阻止它?

最佳答案

当您的应用程序通过 TaskManager 关闭时,您唯一的选择是使用 VM 的 shutdown hook .

周围有一些例子,例如here .

关于java - 如何在 JavaFx 中捕获强制退出或意外关闭的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15066132/

相关文章:

java - 将文件的位置传递给java中的方法?

fullscreen - JavaFx 2.2 & 全屏模式

java - javafx VBox 项目的宽度没有设置?

java - Java 中所有回调实现的相同代码

java - 数据库 | MySQL 和 Java 中的日期时间

每当按下任何字母时都会起作用的文本框的 Java 事件处理程序?

css - 如何在 CSS 中设置 JavaFX SplitMenuButton 的样式

java - @FXML注入(inject)中的空指针异常

scala - 在 Scala 列表中使用 'nested' 类型

java - 查找数组中的最高值,但是如果最高值在数组中存在两个或多个位置怎么办?