日期:2014-05-20  浏览次数:20663 次

JFrame 的关闭问题
JFrame 默认就支持界面关闭,这样的关闭内存是否释放了,会不会导致内存泄露?

------解决方案--------------------
看你有没有指定了,比如:
wnd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
这个可以保证大多数资源,尤其是图形化资源被释放。


另外就是 wnd 这个变量本身有无释放掉,如果没释放掉,JFrame对象就不会被GC回收。
比如:
wnd = null;
------解决方案--------------------
哦,补充下,如果你不设置,默认是:HIDE_ON_CLOSE

就是只是隐藏了,不释放,可以重新show()出来。
------解决方案--------------------
JFrame 默认支持界面关闭 没有释放资源。要自己设定。

------解决方案--------------------
public void exit(JFrame source) {
int val=JOptionPane.showConfirmDialog(source, "你确定退出吗?");
if(val==JOptionPane.YES_OPTION){//JOptionPane 
source.setVisible(false);//将面板设置不可见
System.exit(0);//exit(0) 结束java进程 释放资源
}
}