急急急!!!如何关闭当前JFrame窗口?

clearwater21cn 2007-06-19 05:08:34
在网上搜了一下都说dispose()可以关闭窗口,可是发现dispose()只能把窗口隐藏掉,我后面的程序照样还在运行中。
请问什么方法可以关闭当前的JFrame窗口并停止运行程序?(不能使用System.exit())。
...全文
6984 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
降龙狂魔 2011-11-01
  • 打赏
  • 举报
回复 1
jframe.dispose() 方法,会关闭该窗口,与点击右上角的X的功能一样。如果之前对jframe注册过窗口事件,那么也会触发其监听器。
iori97king 2007-06-23
  • 打赏
  • 举报
回复
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
就这样
suxidi000 2007-06-23
  • 打赏
  • 举报
回复 1
button.addActionListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
点激button关闭窗口
suxidi000 2007-06-23
  • 打赏
  • 举报
回复
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
加这监听,当点激"X"时就会关闭窗口
也可以用new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
另写一个事件触发关闭窗口
clearwater21cn 2007-06-20
  • 打赏
  • 举报
回复
我的窗口中有线程在跑啊,光隐藏窗口程序还照样跑。就算我手动停止线程,这些实例都还存在啊,怎样可以完全释放这些资源???
ReverseEngineering 2007-06-20
  • 打赏
  • 举报
回复
学习一下,蹭点分!
lengxueyouming 2007-06-20
  • 打赏
  • 举报
回复
直接点"X"就可以了吧!
clearwater21cn 2007-06-20
  • 打赏
  • 举报
回复
设置JFrame.EXIT_ON_CLOSE只会在点窗口右上角的“X”时会有System.exit()的效果,对于在窗口中的按钮没有任何作用啊!而且即使是那个“X”也不是我想要的效果~~~~~~~~~~~~~~~
CpRcF 2007-06-20
  • 打赏
  • 举报
回复
public void setDefaultCloseOperation(int operation) {
if (operation != DO_NOTHING_ON_CLOSE &&
operation != HIDE_ON_CLOSE &&
operation != DISPOSE_ON_CLOSE &&
operation != EXIT_ON_CLOSE) {
throw new IllegalArgumentException("defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, or EXIT_ON_CLOSE");
}
if (this.defaultCloseOperation != operation) {
if (operation == EXIT_ON_CLOSE) {
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkExit(0);
}
}
int oldValue = this.defaultCloseOperation;
this.defaultCloseOperation = operation;
firePropertyChange("defaultCloseOperation", oldValue, operation);
}
}
/////////////////////////////////////////////////////////
public void checkExit(int status) {
checkPermission(new RuntimePermission("exitVM"));
}
/////////////////////////////////////////////////////////
operation == EXIT_ON_CLOSE 时,直接都退出 虚拟机了 难道还只是隐藏?
qfs_v 2007-06-19
  • 打赏
  • 举报
回复
说明下:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)是手动关闭框架时的响应动作,用于包含多哥框架集中,关了其中一个框架程序不会退出! 其实,这个方法也是隐藏框架.

隐藏框架就可以了,你非要关做什么?退一步dispose()方法够用了.
redwu99 2007-06-19
  • 打赏
  • 举报
回复
dispose()方法释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。
这个不光是不显示。也会释放资源啊。。怎么会不管用呢,我们一直都这么用啊
CpRcF 2007-06-19
  • 打赏
  • 举报
回复
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
superlanneret 2007-06-19
  • 打赏
  • 举报
回复
对Jframe了解的很少,不知道用setVisiable是不是可以阿?帮你顶一下!!
shan1119 2007-06-19
  • 打赏
  • 举报
回复
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

???

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧