注意:在继承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); }
使用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()只是关闭这个窗口