有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中 使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为 在B中给A窗体传数据时用  JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ?  请指教.

解决方案 »

  1.   

    两个FRAME中参数回传的问题........(有难度量小误进,免得睡不好觉) 
    -------------------------------
    是不是你做不出来的东西就认为有难度?????有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中 使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为 在B中给A窗体传数据时用  JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ?  请指教.
    ----------------------
    JFrane B完全该用JDialog代替. 一定要用Frame的话,就把JFrame A写成单例的.
    JFrame A 的DefaultTableModel对象也写单例就行了. 要不就用观察者. 方法多了去了.
      

  2.   

    两个FRAME中参数回传的问题........(有难度量小误进,免得睡不好觉)
    -------------------------------
    是不是你做不出来的东西就认为有难度?????
    ----------------------------------------
    如果没有这句"有难度量小误进,免得睡不好觉",就不会有这句"是不是你做不出来的东西就认为有难度?????";有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为在B中给A窗体传数据时用 JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ? 请指教.
    ----------------------
    JFrane B完全该用JDialog代替. 一定要用Frame的话,就把JFrame A写成单例的.
    JFrame A 的DefaultTableModel对象也写单例就行了. 要不就用观察者. 方法多了去了.
    ----------------------------
    注意: 我说的是"JFrane B完全该用JDialog代替", 给Frame上的组件赋值本来就该用Dialog.
    两个Frame之间传值当然可以. 你可以参考这个:
    http://community.csdn.net/Expert/TopicView3.asp?id=4951338
      

  3.   

    //observer 模式public class datas {
       private int id = 0;
       public void addListener(DataChangeListener listener){
            if(!listeners.contain(listener)){
               listeners.add(listener);
            }
       }
       public void addRecord(){
          id++;
          notifyListener();
       }   public int getId(){
          return id;
       }   private void notifyListener(){ 
          for(int i = 0; i < listeners.size(); i++){
             listeners.get(i).onAdd(getId);
          }
      }
    }abstract class DataChangeListener{
    protected void onAdd(int id);
    }class frameA{
      datas.addRecord();
    }class frameB implements DataChangeListener{
      public void onAdd(int id){
        System.out.println(id);
      }
    }