注意:在繼承Jframe的過程中,由於工具的快捷功能可以會繼承到Frame類,繼承到Jframe類打開的窗口默認是可以關閉的,而Frame類打開的窗口點了關閉的沒有反應的。
1、關閉子窗口後,父窗口也跟着關閉,子窗口設置爲:
setDefaultCloseOption(Jframe.Exit_ON_CLOSE);
2、只關閉子窗口,子窗口設置爲:
setDefaultCloseOption(Jframe.DISPOSE_ON_CLOSE);
3、dispose()方法,如果是繼承的JFrame類,直接調dispose()方法,如果是new的JFrame對象,用JFrame對象.dispose();
this.dispose();
Frame.dispose();
4、setVisible(false)方法,(該方法僅僅隱藏窗體)
this.setVisible(false)
使用dispose()和setVisible()方法,在表象上沒有任何區別,它們的實質區別在於setVisible方法僅僅隱藏窗體,而dispose方法是關閉窗體,並釋放一部分資源。
frame的System.exit(0)關閉方法如下:
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
System.exit(0)是將你的整個虛擬機裏的內容都停掉了 ,而dispose()只是關閉這個窗口