日期:2014-05-20  浏览次数:20626 次

怎么关闭主窗口中弹出的JDialog???新手在线等
我在设计一个JFrame窗口的时候在菜单拦中的"帮助"下有个"关于",点击"关于"就会弹出一个JDialog的对话框,相信大家都做过吧,我想要通过对话框本身的那个关闭按钮实现关闭对话框,但是我设置的事件却把主窗口也一起关了.怎么样才能实现看完"关于"的内容后就关闭它回到主窗口中?
以下是我写的代码:
 public void jMenuHelpAbout_actionPerformed(ActionEvent e){
  Dialog dlg=new Dialog(this);
  Dimension dlgSize=dlg.getPreferredSize();
  Dimension frmSize=getSize();
  Point loc=getLocation();
  dlg.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);
  dlg.setSize(200,200);
  dlg.setModal(true);
  dlg.addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);////////这里有问题,我也换过其他函数,但是都不行=.=
  }
  } );
  dlg.show();
  }

请大家帮忙!

------解决方案--------------------
用Swing的时候最好不要用AWT组件。Dialog换成JDialog不是更好么。
不论是Dialog还是JDialog,都是继承至JWindow的。setVisible()只是看不见而已,占用的资源可是没有释放的。正确的应该是调用dispose()方法.
------解决方案--------------------
System.exit(0);是退出系统了。所以,方法错误。