用java的swing 作的程序
在主窗口打开的子窗口中操作更新了数据(点击一个按钮)后怎么自动关闭子窗口(而不是按右上角的关闭按钮)并且刷新主窗口中的数据阿我知道的
1:
主窗口的关闭方式:
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
但是如果把代码用到子窗口就不行了,代码会吧整个程序都关闭,
2:
想在主窗口设置监听,用implemente WindowClosed 是否可以,怎么操作可以刷新自己?
请大家帮忙

解决方案 »

  1.   

    this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    这句话一定去掉,而且改为让JFrame关闭的时候什么都不作。(NOTHING_...)记不住了,你看一下就知道了关闭的时候通过frame.dispose()做
      

  2.   

    子窗口设置为模态
    子窗口处理完后用dispose关闭
    父窗口继续
      

  3.   

    是的,当执行dispose()方法时,窗口就把自己关掉了.
    你也可以把子窗口设为JDialog, 实现不关掉子窗口就不允许操作父窗口
      

  4.   

    把子窗口frmChild设为JDialog,在主窗体中frmChild.setVisible(true);这个时候焦点到了frmChild上。在frmChild中操作完了之后,如果操作成功,设置一个返回的参数,比如iReturn=1,再frmChild.setVisible(false);这个时候焦点又到了主窗体上,在主窗体中判断frmChild窗体中的iReturn的值,如果==1,则frmChild.dispose();然后再刷新主窗体中的数据