第 3 方 Jar 退出我的程序?

3rd Party Jar Exiting my Program?

好的,最近我在 java 中使用 swing 制作了一个程序,例如截图工具,它允许您 select 屏幕的一个区域并将其作为图像保存到您的计算机。

现在,我要做的是制作一个使用我制作的其他程序的全新项目。

然而,当第 3 方 jar 在我的新应用程序中启动时,它工作正常,但当我关闭第 3 方应用程序时,它也会关闭我的新应用程序。我确实在第三部分应用程序中使用了系统退出,我知道这是它关闭所有内容的原因。

现在我的问题是:出于这个原因使用系统退出是错误的吗?我可以做些什么来防止在不修改旧应用程序的情况下关闭我的新应用程序吗?

或者,你能不能在以后提出建议而不是使用 system.exit 因为我仍然希望原来的能够正确关闭,我只是不想要我的新罐子使用旧罐子也关闭。

我已经尝试在我的新应用程序中禁用系统退出,这只会产生更多问题。

不要使用 System.exit();

Is there something I can do to prevent closing my new app without modifying the old one?

使用:

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

如果框架是唯一 window 打开它将退出 JVM。如果其他 Windows 打开,则只有当前 Window 关闭。点击Window的"Close"按钮时使用默认的关闭操作。

更好的是,不要将 JFrame 用作您的工具的 Window。相反,您应该使用 JDialog。