现在有俩个DialogA,B,我想在窗口B里得到窗口A的JTextField的值,而且还不能把JTextField变量设成static,那样就会出现bug,而且在窗口B里还不能new一个窗口A,那样窗口A里的值就都为0了,怎样不把A里面的值不设置为static,还能把值传过去呢?我有这样想法,在A里面声明别的static变量,然后把JTextField值传给他,但不知道怎么把一个非static变量的值赋给static变量?或者大家还有别的办法指点下。

解决方案 »

  1.   

    不行的
    你可以在A里面New 一个B啊
    然后把A的东西传给B不就可以了?
      

  2.   

    没有怎么明白你的意思..
    你在A里写个函数吗.函数里创建A的对象..这样就利用这个函数B可以得到A的对象了呀
      

  3.   

    在static的方法或者初始化static段中 new B().getXXX()就可以了。
       初始化时的static段 是这样的:
      public static String a;
     static{
         a=new B().getXXX();    }
    这一段代码是最先执行的! 在构造器之前执行。
      

  4.   

    单例设计模式看看。定义一个类来管理各组件,创建每个组件的单例。Dialog B 中可以调用该类来取得Dialog A 的唯一实例。这样自然也能得到A中的JTextField值。