我想让我的Java应用程序在按下“关闭”十字按钮时调用自己的定制函数。据我所见,由于setDefaultCloseOperation
根本没有重载,因此可能没有办法。
知道如何实现吗?
最佳答案
以上所有建议都是正确的,因为您需要使用WindowListener。
但是,所有答案也不完整,因为它们忘记提及您可能还想添加:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(...);
这将允许您的代码完全控制窗口关闭过程,因为除非您告知窗口关闭(通常通过在框架上使用dispose()方法),否则窗口不会自动关闭。这使您可以提示用户确认关闭窗口。
Closing an Application有一个简单的API,可让您创建一个在关闭窗口时执行的简单Action。它为您管理关闭操作和窗口侦听器代码。