xcxd.net
当前位置:首页 >> jAvA关闭当前窗口 >>

jAvA关闭当前窗口

只能用dispose释放当前窗口、比如this.dispose(); 不能用system.exit(0)\因为这样会关闭jvm中所有的资源,也就是关闭所有界面,等于结束当前程序.

第一种:用你弹出的这个JFrame对象 frame.setVisible(false); 就好了.第二种:调用 frame.dispose() 方法,该方法是释放窗体资源,和你设定的setDefaultCloseOperation行为有关系,比如你只是关闭窗口就可以设定frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE),那么在你调用dispose时窗口就会隐藏,具体的你可以查看jdk api看看说明就知道了.

看一个例子就清楚了.要是用swing就更简单了 import java.awt.*; import java.awt.event.*; public class TestWindowClose { public static void main(String args[]) { new MyFrame("MyFrame"); } } class MyFrame extends Frame { public MyFrame(

窗口关闭应该设置成DISPOSE_ON_CLOSE(窗口关闭),而不是EXIT_ON_CLOSE(程序退出)

只能说你的思路有问题,如果是想在关掉第一个窗口之后,打开第二个窗口,那么,你在第一个窗口上定义一个按钮就行了,按这个按钮进行关闭窗口,按钮是可以添加事件的,随你打开多少个窗口..你可以让标题栏不显示..你想点 X 关闭窗口,并且打开第二个窗口,第二个窗口关闭,又打开新的窗口,那就永远关不掉了..

关闭窗口直接setvisible(false);就完事了啊, 怎么弄得这么麻烦.system.exit(0);是退出程序. 根本不是一回事~.

直接调用新窗口的setVisible(false);方法就可以了.

java关闭窗口可以使用dispose(),只是该窗体在内存中所占有的资源得到了释放,而整个程序并没有因此而退出,如果整个程序要退出,在以java.awt中的frame为控件时,需手动添加:system.exit(); 而在以javax.swing中的jframe为控件时,一般不需要再写相应的事件,默认点击窗体上的小叉时,是隐藏,当然你可更改其参数.

1 package applicationGraphicsInOut; 2 import java.awt.*; 3 import java.awt.event.*; 4 public class ApplicationGraphicsInOut { 5 public static void main(String args[]) 6 { 7 new FrameInOut(); 8 } 9 10 }11 class FrameInOut extends Frame implements

你用的 swing 吗?加上 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);或者加上窗口事件监听器:addWindowListener(new WindowAdapter() { public void windowClosing (WindowEvent we) { dispose(); }});

rjps.net | 3859.net | 5689.net | mwfd.net | famurui.com | 网站首页 | 网站地图
All rights reserved Powered by www.xcxd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com