我现在有个父窗口和子窗口,2个都是JDialog。   父窗口里面有个Jtable从数据库拿数据显示,我在子窗口里修改了数据库的内容   我想在子窗口关闭后让父窗口刷新一下,把新更改的内容显示出来,如何实现?   网上搜到一些
   invalidate();
   validate();
   repaint();
   的方法,我在子窗口了用getParent()来调用它们,不过我试试好像不行,求解

解决方案 »

  1.   

    具体Jtable的刷新方法我不清楚,我首先我想JTable对应的数据model应该不会自动更新的把,你首先应该更新数据表的数据模型吧
      

  2.   

    怎么刷新model呢给些具体的代码,然后在哪里调用它
      

  3.   


    试试:写个回调函数,或者将父窗口的引用传给子窗口,在子窗口关闭的时候调用回调函数或者通过父窗口的引用更新model。
      

  4.   

    看来一下稍微了解了一下回调函数,现在是怎么更新model,我看到别人说是用Model.fireTableDataChanged()这个方法,为什么我的jTable1.getModel()里面没这个方法
      

  5.   

    方法 其实也有:
    第一种:关闭子窗体时 把父窗体也关闭 之后再show父窗体。。(比较笨)第二种:直接把父窗体中显示数据的方法设为public关闭子窗体是 重新运行一次这个方法第三种:使用委托
      

  6.   

    你的model是extends from AbstractListModel么?