Java 关闭回转框架,用户与系统启动关闭。如何区分?

Java 关闭回转框架,用户与系统启动关闭。如何区分?,java,swing,frame,shutdown,windowlistener,Java,Swing,Frame,Shutdown,Windowlistener,我一直在寻找这个问题的答案,但似乎到处都找不到。我可能只是不知道正确的关键字。任何朝着正确方向的温和刺激都将不胜感激 基本上,当用户点击x关闭框架时,我想做一个动作。然而,当Windows关闭并触发关闭时,我希望采取不同的操作。当然,我会使用DO_NOTHING_ON_CLOSE或HIDE_ON_CLOSE,我知道如何捕捉事件。我所需要的只是“谁”发起的。我找不到答案 干杯。A将告诉您用户何时做了影响窗口的事情,但是JVM的突然终止可能根本不会产生窗口事件。您可能正在寻找运行时方法,已讨论和。?

我一直在寻找这个问题的答案,但似乎到处都找不到。我可能只是不知道正确的关键字。任何朝着正确方向的温和刺激都将不胜感激

基本上,当用户点击x关闭框架时,我想做一个动作。然而,当Windows关闭并触发关闭时,我希望采取不同的操作。当然,我会使用DO_NOTHING_ON_CLOSE或HIDE_ON_CLOSE,我知道如何捕捉事件。我所需要的只是“谁”发起的。我找不到答案


干杯。

A将告诉您用户何时做了影响窗口的事情,但是JVM的突然终止可能根本不会产生窗口事件。您可能正在寻找
运行时
方法,已讨论和。

?另请参见。我已经实现了WindowListener,但是WindowClosing期间发送的WindowEvent似乎没有提供我所需要的。我会翻阅你发来的教程,看看我是否遗漏了一些不常用的东西。更糟糕的是,在Win7中,当系统试图关闭,我不允许退出时关闭时,整个操作系统都在等待我的程序完成。真烦人。我将研究关机钩子,thx。这里有一个在上使用的相关方法。这看起来非常有希望。我来读一读,然后试一试。如果成功的话,我很乐意接受答案。不去,即使有关闭退出设置。看来我的问题比我想象的要严重得多。当Win7(64位)试图关闭时,我的JVM会变得不稳定。程序在任何级别上都停止运行。我只能从任务栏关闭它,而javaw.exe会被留在任务管理器中。Windows将不会关闭,直到它被杀死,它甚至没有告诉你为什么。看来我需要在解决这个问题之前解决这个问题。但是,那是另一条线…哎哟!是否有任何守护程序线程或un-
dispose()
d主机资源?另请看。我会检查它,但我只是与另一个完全不同的公司编写的程序交叉检查,完全相同的事情发生在它身上。我想我需要开始往兔子洞的深处看。从javaw.exeWell开始,我已经解开了部分谜团。我还没有清空我的属性文件,javaw正在使用资源。研究告诉我,不要相信关机挂钩能够持续运行。测试似乎证明了这一点。另外,我发现当用户单击X时,窗口关闭和关闭钩子都会运行。但是,我已经重新设计,所以我不在乎程序是如何关闭的。然而,我猜一个与鼠标事件相关的关闭事件可能就是问题所在。是时候进行更多的研究了。