我在方法A中new一个新的图形界面类B,我想当这个图形界面B运行完关了之后,再执行A中后面的方法。但是程序默认的是,当打开了图形界面类B之后,立即就运行A后面的语句了,怎么样才能使程序在图形界面后面这个地方截断一下,等图形界面运行完关闭之后再运行后面的呢?谢谢!

解决方案 »

  1.   

    在图形界面类B的close()事件里面再写初始化A的语句呢??
    试试
      

  2.   

    可以在close事件中写。也可以在close中加定时器,在定时器中执行你要的方法。
      

  3.   

    写个类B的子类, 复写close事件的响应方法..  在这个方法中去调用..
      

  4.   

    回楼上的,为什么要写个子类呢,跟调用类B的这个方法有什么区别么?我的具体问题是,A方法是一个需要返回Boolean类型值的方法,语句如下:
    public Boolean passesCondition()
    {
     Frame frame = new Frame();  //打开图形界面
     frame.setVisible(true);
     Boolean bool = frame.getbool();  //这个图形界面里的值是通过点击里面的按钮得到的,没有初始值
     return bool;
    }如果直接这样写的话,在图形界面出来之后,直接运行后面的Boolean bool = frame.getbool();  但是这个时候
    frame.getbool()要返回的值还没有赋值啊,所以我想出来图形界面之后,后面的代码先不执行,在图形界面经过一定的运行之后,再运行后面的,请问有什么办法么?
      

  5.   

    这里可能使用wait()和notify()能够解决你的问题
      

  6.   

    添加监听器,在windowClosing()中写关闭前要完成的操作
    Jframe.addWindowListener(new WindowAdapter(){
     public void windowClosing(WindowEvent e){
          System.exit(0);                    
                      });
      

  7.   

    //模态对话框
    JDialog dlg = new JDialog();
    dlg.setMode(true);