如果两个jframe在同一个类中,那么可以通过类成员共享信息,如果是在不同类中,我想只能用构造函数

解决方案 »

  1.   

    谁说的,下面是个例子,JFrame1和JFrame2
    JFrame1中
    public JFrame1 extends JFrame {
    public JFrame1(){}
    public void setJFrame2() {
    JFrame2 jf2=new JFrame2();
    jf2.setMyValue("HelloWorld!");
    }
    }
    JFrame2中
    public JFrame2 extends JFrame {
    String s="";
    public JFrame2(){}
    public void setMyValue(String s) {
    this.s=s;
    }
    }
    -----------------------------
    这样的话,在JFrame1中调用setJFrame2方法就可以给JFrame2中的变量s赋值了(s="HelloWorld!";),这里并不是构造函数呀
      

  2.   

    如果要做到低耦合,可以仿造MQ,用一个类来充当dispatcher
      

  3.   

    大虾们再帮帮忙,举个例子,我实在是没搞懂.
    比如 两个JFrame,其中一个MainFrame,要保证始终是开着的,而且
    不能再被new的.然后打开一个新的JFrame,填入一些数据之后,
    比如name,password等,要传回去给主MainFrame,所以肯定
    不能通过构造函数.而要通过捕获Button事件,比如按下OK,返回
    一组name,pasword等,按下Cacel,返回null.
    在MainFrame里面应该如何捕获啊?
      

  4.   

    MichaelCool(自由人) 大虾,我的文件就是都在一个包里面的,全局变量是可以传递的.
    关键问题是,我要等按下button以后再传递数据的.
    比如按下ok,就返回name,paswrd等,按下cancel,就返回null.
    但是我在mainFrame里面调用的时候每次都是null的,也就是
    新的Frame一打开她就返回数据了
      

  5.   

    用全局变量。传递数据前先判断按下的是OK还是CANCEL