System.exit(0)是退出整個程序,如果有多個窗口,全部都銷毀退出。
frame.setDefaultCloseOperation()是設置用戶在此窗體上發起"close"時默認執行的操作。必須指定以下選項之一:
(1)DO_NOTHING_ON_CLOSE(在WindowConstants中定義):不執行任何操作,要求程序在已注冊的 WindowListener 對象的 windowClosing 方法中處理該操作。
(2)HIDE_ON_CLOSE(在WindowConstants中定義):調用任意已注冊的WindowListener對象后自動隱藏該窗體。
(3)DISPOSE_ON_CLOSE(在WindowConstants中定義):調用任意已注冊WindowListener的對象后自動隱藏並釋放該窗體。
(4)EXIT_ON_CLOSE(在JFrame中定義):使用System exit方法退出應用程序。僅在應用程序中使用。
默認情況下,該值被設置為 HIDE_ON_CLOSE
也就是說沒有設置的話,默認點關閉時只是隱藏窗體,在后台進程中還可以看到,如果有多個窗口,只是銷毀調用dispose的窗口,其他窗口仍然存在,整個應用程序還是處於運行狀態。