Java程序在从x会话注销时结束
当我使用GUI(例如简单的JFrame)运行Java程序,然后结束X会话(注销)时,我的Java程序终止。不使用GUI的Java程序将继续运行 这没什么问题,但我想知道这个程序是如何终止的。我没有收到关于未捕获异常或其他问题的消息。退出代码是1。如果prog被信号终止,则退出代码将被128+信号(afaik)终止 有人能解释一下这个问题吗。我能以某种方式阻止程序终止或控制该情况下的退出代码吗 [编辑] 我知道这次行动。我正在使用“关闭”上的“退出”。但这将导致调用System.exit(0)。 我还添加了一个WindowListener来监视程序结束时调用它的哪些函数。当我通过单击window-X完成程序时,调用函数windowClosing()。当我注销并完成X会话以便终止程序时,不会调用WindowListener函数。我的程序刚刚退出,退出代码为1 当我使用GUI运行Java程序时(例如,一个简单的JFrame) 我不知道X-session是如何工作的,但是当使用JFrame时,您需要知道这些帧Java程序在从x会话注销时结束,java,swing,user-interface,Java,Swing,User Interface,当我使用GUI(例如简单的JFrame)运行Java程序,然后结束X会话(注销)时,我的Java程序终止。不使用GUI的Java程序将继续运行 这没什么问题,但我想知道这个程序是如何终止的。我没有收到关于未捕获异常或其他问题的消息。退出代码是1。如果prog被信号终止,则退出代码将被128+信号(afaik)终止 有人能解释一下这个问题吗。我能以某种方式阻止程序终止或控制该情况下的退出代码吗 [编辑] 我知道这次行动。我正在使用“关闭”上的“退出”。但这将导致调用System.exit(0)。
setDefaultCloseOperation(...);
方法。当使用EXIT\u ON\u CLOSE
时,JVM将立即退出
当DISPOSE\u ON\u CLOSE
时,如果JVM是最后一个打开的帧,并且没有其他线程运行以阻止JVM关闭,则JVM将退出