java - 如何在javafx中调用阶段的默认关闭操作?

标签 java javafx exit

我编写了primaryStage的defaultCloseOperation函数,但我也有一个退出按钮,我想运行该defaultCloseOperation。 我尝试调用阶段的 close() 和 hide() 方法,但它立即退出,而不调用我的 defaultCloseOperation 函数,但我需要调用它,因为当我关闭客户端时,我需要从服务器端释放所有资源.

最佳答案

请勿在 Stage 的关闭操作中执行此操作。

这就是Application.stop方法应该用于。

@Override
public void stop() throws Exception {
    // TODO: release resources here
}
<小时/>

但是,如果多个窗口之一使用了资源,则应为 onHidden 事件使用事件处理程序 - 无需扩展 Stage:

stage.setOnHidden(event -> {
    // TODO: release resources here
});

关于java - 如何在javafx中调用阶段的默认关闭操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206423/

相关文章:

Java - 如何管理 JNI C 代码中的内存?

java - Android - 如何从子 SurfaceView 访问 fragment 中的方法?

java - JPA 2.0 Provider Hibernate 3.6 for DB2 v9.5 type 2 驱动程序在配置准备中抛出异常

bash - 在 bash 中,如何从由 tee 传输的函数中退出脚本?

bash - 在bash脚本中平稳停止inotifywait管道

java - Java Websockets 中的来源检查以防止 CSRF

java - 为什么在 JavaFX 中滚动到 ListView 的末尾时会收到这个奇怪的警告?

java - 不同JDK版本的Maven编译

javafx-2 - 如何在TextArea中显示多行文本

command - 启动 cmd 运行命令不起作用