JFrame 类中的 setDefaultCloseOperation 方法中 Dispose_On_Close 和 Exit_On_Close 之间的区别是什么?
答案 0 :(得分:6)
顾名思义,处理关闭时关闭窗口,关闭时退出窗口关闭时退出JVM。如果窗口是JFrame,如果它是显示的最后一个窗口,并且如果没有运行非守护程序线程,它们都会做同样的事情 - 退出jvm。根据API:
当Java虚拟机(VM)中的最后一个可显示窗口被丢弃时,VM可能会终止。
我通常更喜欢在关闭时使用dispose。
答案 1 :(得分:3)
EXIT_ON_CLOSE
通过调用System.exit(0)
来结束完整的主题。 DISPOSE_ON_CLOSE
只关闭jframe,线程运行直到它被其他东西终止。您可以使用具有2个不同关闭操作的2个JFrame的程序对此进行测试。如果您使用EXIT_ON_CLOSE
关闭一个帧,则两个帧都将关闭,但如果您关闭DISPOSE_ON_CLOSE
设置为关闭操作的帧,则只有一个将消失而另一个将保留。