Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序在从x会话注销时结束_Java_Swing_User Interface - Fatal编程技术网

Java程序在从x会话注销时结束

Java程序在从x会话注销时结束,java,swing,user-interface,Java,Swing,User Interface,当我使用GUI(例如简单的JFrame)运行Java程序,然后结束X会话(注销)时,我的Java程序终止。不使用GUI的Java程序将继续运行 这没什么问题,但我想知道这个程序是如何终止的。我没有收到关于未捕获异常或其他问题的消息。退出代码是1。如果prog被信号终止,则退出代码将被128+信号(afaik)终止 有人能解释一下这个问题吗。我能以某种方式阻止程序终止或控制该情况下的退出代码吗 [编辑] 我知道这次行动。我正在使用“关闭”上的“退出”。但这将导致调用System.exit(0)。

当我使用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时,您需要知道这些帧

setDefaultCloseOperation(...);
方法。当使用
EXIT\u ON\u CLOSE
时,JVM将立即退出

DISPOSE\u ON\u CLOSE
时,如果JVM是最后一个打开的帧,并且没有其他线程运行以阻止JVM关闭,则JVM将退出