关闭Jdialog连主窗口也关了?

hiphen1 2002-05-07 12:37:28
在主窗口下,我调出一个Jdialog,按确定或是取消后,Jdialog是关闭了,我是执行dispose()的,但这个过程把主窗口也一同关闭了,请问这通常是由于哪些情况导致的呢?

dialog.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent dialoge) {
dispose();
}
});
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
barry 2002-05-07
  • 打赏
  • 举报
回复
我想不是这样吧,你应该反dispose();改成this.dispose();这样才对;
hiphen1 2002-05-07
  • 打赏
  • 举报
回复
GJA106(中文字符) ,谢谢,但还是不行

我想知道有哪些情况会导致关dialog时会把上级frame一同关闭的,说出来我就可以自己想办法解决了。
GJA106 2002-05-07
  • 打赏
  • 举报
回复
dialog.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent dialoge)
{
dispose();
}
});
改为:
dialog.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent dialoge)
{
dialogClose(dialoge);
}
});

private dialogClose(WindowEvent dialoge)
{
dialog.dispose();
}
newman0708 2002-05-07
  • 打赏
  • 举报
回复
你相当于执行了
dialog.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEventdialoge)
{this.dispose();}
});

dispose是发给主窗口的。你的dialog能关,主要是因为主窗口关了才引起的。
所以解决方法是将dispose信息发到dialog。
dialog.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEventdialoge)
{dialog.dispose();}
});

hiphen1 2002-05-07
  • 打赏
  • 举报
回复
真的吗?
好象不能this.dispose();吧
jimjxr 2002-05-07
  • 打赏
  • 举报
回复
dialog.addWindowListener在那个类里面dispose就会把那个类关掉,因为这个相当于this.dispose();,估计你把这个放在上级frame的类里面了,所以把它关掉了。你应该设法调用dialog.dispose();

62,616

社区成员

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

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