关闭窗口时的一个小问题!

sannyling 2003-08-20 05:15:27
想在触发关闭窗口操作时,先提示用户是否确认要关闭窗口! 是:关闭窗口,否:返回!

我想用下面的方法解决:
private void jbInit() throws Exception {
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent e) {
closeFrame();
}
});
}

void closeFrame(){
int ifExit=JOptionPane.showConfirmDialog(this,"你确认要退出?","管理器",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

if (ifExit==JOptionPane.YES_OPTION){
System.exit(0);
}
else{

//#return 想在这里返回,不做任何操作
}
}

可是如果在 #return 处不做任何操作,该窗口还是会关闭!

请教大家应该如何处理???
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
geyf 2003-08-25
  • 打赏
  • 举报
回复
just try:

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
int ifExit=JOptionPane.showConfirmDialog(this,"你确认要退出?","管理器",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

if (ifExit==JOptionPane.YES_OPTION){
System.exit(0);
}
else{

return;// 想在这里返回,不做任何操作
}
}
super.processWindowEvent(e);
}
sannyling 2003-08-25
  • 打赏
  • 举报
回复
大家帮帮忙啊! 都不知道么?
sannyling 2003-08-21
  • 打赏
  • 举报
回复
可是如果不在windowClosing事件里设置,我也无法知道窗口触发的关闭事件啊!?

我也用过show了,可是仍然不能显示!

建立frame 应该也是一样吧,如果还是在windowClosing事件里设置,应用程序还是会关闭该窗口的吧!?
nirvana_hg 2003-08-20
  • 打赏
  • 举报
回复
因为你是在windowClosing事件里设置的.因此一定会消失.但并没有被收集,当用show之类的,还会重新出现.比较合适的办法就是建立一个frame,然后用它当作对话框的容器,这样就不会关闭了.
sannyling 2003-08-20
  • 打赏
  • 举报
回复
帮帮忙啊!!

62,615

社区成员

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

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