再问一个问题,如何和主线程通信,例如当主进程中变量int i 到5000,结束线程wnd

解决方案 »

  1.   

    w.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            dispose();
            System.exit(0);
          }
        });
      

  2.   

    哦,漏了个字
        w.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            w.dispose();
            System.exit(0);
          }
        });
      

  3.   

    可是
    System.exit(0)
    连主程序也退出了
      

  4.   

    不用System.exit(0);
    只留w.dispose();就行
      

  5.   

    w.dispose()只是将窗口隐藏了,并没有关掉,因为到主线程和窗口线程执行完后,java.exe
    仍然没有退出
      

  6.   

    添加addWindowListener  试试!
      

  7.   

    w.addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            w.dispose(); //隐藏窗口
          }
          public void windowClosed(WindowEvent e) {
            wnd.this.join(); //等着执行完任务
            System.exit(0); //退出
          }    
    });
      

  8.   

    bw78619(Genghis Khan) 写得比较全面点
      

  9.   

    而且JWindow建立的实例是不能像JFrame实例那样关闭的,它没有关闭按钮的
      

  10.   

    当使用java创建图形界面时,不仅仅是你所能见到的线程在运行,有些线程总是在后台运行,例如事件分发器,因此,尽管你的window已经dispose,但jvm并不会退出。
    当需要退出jvm时,应该需要主动调用System.exit。
      

  11.   

    To  billh2003(比尔) 
    如果调用System.exit,不是连主进程也退出了,
    想退出这个JWindow的进程,又不想主进程退出,除了stop,还有什么办法吗?
    是不是不推荐使用stop