相关文章推荐
高大的毛衣  ·  个人算力终端:重构开发者生产力的“下一站” ...·  1 周前    · 
高大的红薯  ·  將外部安裝的擴充功能設定為自動更新 - ...·  1 周前    · 
狂野的啄木鸟  ·  PyQt如何使界面按钮更加美观_pyqy5开 ...·  1 周前    · 
害羞的滑板  ·  学习nest.js的第三天_nestjs dto·  2 天前    · 
听话的汤圆  ·  cmd ...·  2 天前    · 
强健的毛豆  ·  可解释的机器学习库—SHAP-CSDN博客·  1 年前    · 
唠叨的豌豆  ·  HTML与JavaScript自解码机制 - 知乎·  2 年前    · 
冷静的签字笔  ·  DependencyProperty.Reg ...·  2 年前    · 
Code  ›  如何在窗口关闭时关闭JavaFX应用程序?开发者社区
mainstage 软件
https://cloud.tencent.com/developer/ask/sof/71271
侠义非凡的板栗
2 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 如何在窗口关闭时关闭JavaFX应用程序?
Stack Overflow用户
提问于 2012-08-28 14:10:00
EN

在Swing中,您可以简单地使用 setDefaultCloseOperation() 在关闭窗口时关闭整个应用程序。

然而,在JavaFX中,我找不到对应的东西。我打开了多个窗口,如果关闭了一个窗口,我想关闭整个应用程序。在JavaFX中实现这一点的方法是什么?

编辑:

我知道我可以重写 setOnCloseRequest() 来对窗口关闭执行一些操作。问题是应该执行什么操作来终止整个应用程序?

stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {
        stop();
});

Application 类中定义的 stop() 方法什么也不做。

12 172.3K 0 票数 81
EN
java
javafx
javafx-2
javafx-8

回答 12

Stack Overflow用户

回答已采纳

发布于 2012-08-28 14:50:32

当最后一个 Stage 关闭时,应用程序会自动停止。此时, Application 类的 stop() 方法已被调用,因此您不需要与 setDefaultCloseOperation() 等效的方法

如果您想在此之前停止应用程序,可以调用 Platform.exit() ,例如在您的 onCloseRequest 调用中。

您可以在 Application 的javadoc页面上获得所有这些信息: http://docs.oracle.com/javafx/2/api/javafx/application/Application.html

票数 93
EN

Stack Overflow用户

发布于 2015-07-20 22:25:18

提供的一些答案对我不起作用(javaw.exe在关闭窗口后仍在运行),或者eclipse在应用程序关闭后显示异常。

从另一方面来说,这是完美的:

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent t) {
        Platform.exit();
        System.exit(0);
});
票数 73
EN

Stack Overflow用户

发布于 2015-05-08 17:50:01

作为参考,这里有一个使用Java 8的最小实现:

@Override
public void start(Stage mainStage) throws Exception {
    Scene scene = new Scene(new Region());
    mainStage.setWidth(640);
    mainStage.setHeight(480);
    mainStage.setScene(scene);
 
推荐文章
高大的毛衣  ·  个人算力终端:重构开发者生产力的“下一站” _ 信息化动态 _ 福建省经济信息中心
1 周前
高大的红薯  ·  將外部安裝的擴充功能設定為自動更新 - Microsoft Edge Developer documentation | Microsoft Learn
1 周前
狂野的啄木鸟  ·  PyQt如何使界面按钮更加美观_pyqy5开始停止按钮怎么设置颜色好看
1 周前
害羞的滑板  ·  学习nest.js的第三天_nestjs dto
2 天前
听话的汤圆  ·  cmd 运行命令时候提示“文件名、目录名或卷标语法不正确。” - Microsoft Q&A
2 天前
强健的毛豆  ·  可解释的机器学习库—SHAP-CSDN博客
1 年前
唠叨的豌豆  ·  HTML与JavaScript自解码机制 - 知乎
2 年前
冷静的签字笔  ·  DependencyProperty.Register Method (System.Windows) | Microsoft Learn
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号