0

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

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

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

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

或者,您能否在将来提供建议而不是使用 system.exit,因为我仍然希望原来的能够正确关闭,我只是不希望使用旧 jar 的新 jar 也关闭。

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

4

1 回答 1

1

不要使用 System.exit();

我可以做些什么来防止在不修改旧应用的情况下关闭我的新应用?

利用:

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

如果框架是唯一打开的窗口,它将退出 JVM。如果其他窗口打开,则仅关闭当前窗口。当您单击窗口的“关闭”按钮时,将使用默认关闭操作。

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

于 2015-02-15T15:41:55.927 回答