除了使用JNI,Java GUI应用程序还有没有其他方法来响应系统关机或注销事件?(在Windows上,JNI将使用WM_QUERYENDSESSION,在Linux上呢?)
该方法应该允许程序提示用户保存等操作,然后继续注销过程。
这并没有回答问题,但解决了其中的一部分。
在Unix GUI会话中,我认为处理注销事件的正确方式是将文档保存到临时文件中,并将信息保存在会话状态中。在会话恢复期间,程序可以重新加载临时文件,并从上次离开的地方继续进行。无需询问用户是否保存。
我只希望更多的软件能够进行透明的会话保存和恢复。太多的程序重新打开空白文档窗口,因为GUI框架只做了这么多,但实际上没有处理任何有意义的程序状态。