假設Runtime.getRuntime().addShutdownHook(new Thread()
已正確設置,當Java應用程序窗口(JFrame
)關閉時(如果是唯一窗口),ShutdownHook線程將如何被調用)並且處理窗口默認關閉操作是DISPOSE_ON_CLOSE
或EXIT_ON_CLOSE
?如何使用DISPOSE_ON_CLOSE或EXIT_ON_CLOSE的窗口關閉操作調用ShutdownHook線程
請注意,對於通過ShutdownHook線程處理的System.exit(0)
處理的退出命令,應用程序將正確終止,因爲在Java應用程序退出之前所有關聯的線程都會終止。所以我想通過關閉JFrame
窗口完成ShutdownHook線程清理來完成同樣的任務。
發佈您的SSCCE(http://sscce.org),證明問題。 EXIT_ON_CLOSE和DISPOSE_ON_CLOSE都會極大地調用System.exit(),所以不理解「QUIT命令」(不管是什麼)和關閉操作之間的區別。 – camickr 2011-06-01 15:28:53