setDefaultCloseOperation();是用來設定窗口被關閉時(比如點擊了右上角的”x”)的行為。參數有:
DISPOSE_ON_CLOSE:隱藏當前窗口,並釋放窗體占有的其他資源。在窗口被關閉的時候會dispose這個窗口。
EXIT_ON_CLOSE:結束窗口所在的應用程序。在窗口被關閉的時候會退出JVM。
如果程序沒有其他線程在運行,當所有窗口都被dispose后,JVM也會退出。
代碼舉例:
package Example; import javax.swing.*; public class example1 { public static void main(String[] args) { JFrame window1 = new JFrame("窗口A");//創建帶標題的窗口 JFrame window2 = new JFrame("窗口B"); window1.setBounds(600, 100, 500, 500);//左,上,寬,高 window2.setBounds(100, 100, 500, 500); window1.setVisible(true); window2.setVisible(true); window1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); window2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
運行截圖:
單擊窗口A的關閉按鈕,只有窗口A被關閉。
單擊窗口B的關閉按鈕,兩個窗口都被關閉。