我在要写一个多窗体的程序,在主窗体里点击按钮会打开另外的jframe窗体。
一开始所有窗体用的都是setDefaultCloseOperation(EXIT_ON_CLOSE),发现后打开的窗口关掉后父窗体也关了,后来知道是终止了整个虚拟机。
将子窗体jframe的退出操作改为setDefaultCloseOperation(DISPOSE_ON_CLOSE)窗口的问题解决了,发现子窗体的程序还在后台运行,求高手指教……
一开始所有窗体用的都是setDefaultCloseOperation(EXIT_ON_CLOSE),发现后打开的窗口关掉后父窗体也关了,后来知道是终止了整个虚拟机。
将子窗体jframe的退出操作改为setDefaultCloseOperation(DISPOSE_ON_CLOSE)窗口的问题解决了,发现子窗体的程序还在后台运行,求高手指教……
解决方案 »
- 急,写了一个JDBC程序出乱码,问题在哪?
- java不同于C++有sizeof操作,因为它的基本类型长度是固定的.是这样吗??
- 怎么能把多个文件压缩成一个ZIP包?
- 一个输入的弱弱的问题,请教大家了
- 一个关于taglib el的问题,变量怎么表示?
- 关于Applet跟JFrame的问题,请教各位
- 请求问如何把java的编译后文件,做成.EXE文件啊?
- :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
- jar的Manifest问题
- java NIO包里面为什么没有boolenBuffer。
- RandomaccessFile读取最后一个数据时显示不正常,求教
- Java与数据库导入导出问题
不过你如果不想用的话可以试一下dispose()
这样关的话连数据会没有,而不是像setDefaultCloseOperation那样隐藏而已
我了解到的是,设为DISPOES_ON_CLOSE,在关闭窗口后会释放窗口多占的所有资源,一旦重新调用setVisible(true),所有组件的状态都会恢复到关闭前的状态。以下是java API中关于dispose()的说明dispose
public void dispose()释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。
通过随后对 pack 或 show 的调用重新构造本机资源,可以再次显示 Window 及其子组件。重新创建的 Window 及其子组件的状态在移除 Window 的点上与这些对象的状态将是一样的(不考虑这些操作之间的其他更改)。