日期:2014-05-18  浏览次数:20751 次

为什么关闭窗口后,程序并为退出。
1,
package swing;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JFrame;

public class JFrameTest extends JFrame{

public JFrameTest()
{
this.setTitle("JFrame Test");
this.setSize(400, 300);
this.setLocation(300, 300);
this.setVisible(true);
}
public static void main(String[] args)
{
new JFrameTest().addWindowListener( new WindowAdapter(){

public void WindowClosing(WindowEvent e)
{
System.exit(0);
}

});
}
}


关闭窗口之后,进程中javaw.exe还在继续运行之中。

------解决方案--------------------
你没有关闭java虚拟机啊!这样很危险啊!这样当你重新运行的时候,又会有新的java虚拟机出现啊!会造成内存泄露啊!你可以在this.setVisible(true);后面加上这样一段代码就可以关闭了啊!
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

------解决方案--------------------
引用:
是小写,不是大写。那为什么这个还是能够关闭掉窗口呢。

关闭不关闭窗口跟监听事件是两码事啦,
WindowAdapter已经实现了windowClosing方法,
当然你可以在覆盖的windowClosing方法里面不关闭窗口,
或是直接this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE),这样窗口就不会关闭