gpt4 book ai didi

java - 如何避免JFrame EXIT_ON_CLOSE操作退出整个应用程序?

转载 作者:搜寻专家 更新时间:2023-11-01 01:47:37 27 4
gpt4 key购买 nike

我有一个可以启动其他应用程序的应用程序,类似于扩展坞。问题是,如果我正在启动的应用程序 (JFrame) 有 EXIT_ON_CLOSE,它也会关闭我的主应用程序。

我无法控制我正在启动的应用程序。也就是说,我不能期望应用程序有良好的行为并使用 DISPOSE_ON_CLOSE.

我该怎么做才能避免这种情况?我已经尝试过使用线程,但没有成功。我还尝试将主应用程序线程放在守护进程中,但也不走运。

我试过用自定义 SecurityManager 覆盖 checkExit 方法。问题是现在连主应用程序都无法退出。此外,它不会“工作”,因为使用 EXIT_ON_CLOSE 作为其默认关闭操作的应用程序将抛出异​​常并且不会执行(因为 Swing 检查安全管理器的退出 - System.checkExit() ), 启动失败:(.

最佳答案

如果你只想关闭你看到的框架,它应该是DISPOSE_ON_CLOSE

编辑:

尝试拦截 EXIT_ON_CLOSE 事件。

frame.getGlassPane() or frame.getRootPane()

可能会有用。

此外,如果您有权执行其他应用程序的方法,您可以再次调用 setDefaultCloseOperation 将其设置为 DISPOSE_ON_CLOSE

关于java - 如何避免JFrame EXIT_ON_CLOSE操作退出整个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com