____________________   
|                   _____                              | 
|         ¦_____ ¦              ¦ 
|          jt          |   
|                    |   
|       ¦_____             |     
|       frame1              |   
|_____________________  ____________________   
|                   _____                              | 
|         ¦_____ ¦              ¦ 
|          frame2           |   
|                    |   
|                    |     
|                    |   
|_____________________ 
我有两个frame窗口.同时这两个窗口同时打开着,我在frame2中有个变量的值f2,通过按钮,把frame2中的变量f2的值传给frame1,同时关闭frame2,然后这个值就传到frame1上,可以显示在frame1上面的文本jt中.这个题我是在C#中看见的,那么在java中怎么做那?希望高手给于答案

解决方案 »

  1.   

    如果两个窗口有先后关系的话就可以通过构造函数传递参数了,你现在是同时打开,我的想法是使用多线程,看看线程类的notify和wait方法应该可以很好的解决问题,楼主先自己看看资料,有什么问题继续讨论
      

  2.   

    我以前的解决方法是写一些get和set方法,这样在调用的时候将当前窗口对象传入第二个窗口,在第二个窗口中可以取得第一个窗口中的值
      

  3.   

    2楼的可以哦!
    也可以在frame2中声明一个
    public static string num;
    的变量,在点击事件中:
    num=f2;
    在frame1中
    f1=frame2.num;就可以了!
      

  4.   

    同一个应用?那么这样行不?
    加一个全局的messageHandler,处理各个窗口之间的通讯,
    加一个全局的frameManager,管理多个窗口
    Object notifyFrame(frameManager fm, String srcFrame, String destFrame)
    或者复杂点的,用事件和代理来做以解耦合
      

  5.   

    通过向frame2中传递一个frame1的引用,
    这样就可以操作frame1的引用的数据了!呵呵
    另外构造也是可以的
      

  6.   

    既然两个窗口都在运行,那么它们一定是处在一个程序中了,这就很简单了,在你的主类(即有main方法的类)中定义一个成员变量作为中介,两个frame对象也都定义成主类的成员变量,这样,只需要一个frame类修改该成员变量的值,另一个frame类再访问它,就可以实现两个窗口的传递数据了。