在两个Frame间切换
我用了两个计时器进行切换。第一次执行正常,两个Frame在计时器的时间结束后,可以进行切换
但是第二次执行,程序就停留在第一个Frame上,计时器不执行了在调试状态下,我跟了下。当执行到timer.schedule(new XX(),100);
提示"处理异步线程队列时发生异常"
请问是什么问题?

解决方案 »

  1.   

    计时器开启以后就一直执行了。你可以在两个Frame切换的时候,把当前Frame的计时器关掉,timer.cancel()
      

  2.   

    这是XX类的详细
    public class XX extends TimerTask
    {
            public void run()    
    {
            while(true)
           {                
            //这里传了个值进来来管理状态
            iIndex++;
    switch (iIndex){
      case 1:
      this.repaint();
      break;
      case 2:
      this.repaint();
      break;
      default:
      break;
    }
    try
    {
       Thread.sleep(100);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    if(iIndex == 3)
    break;
            }
            timer.cancel();
            关闭当前Frame
            进入下个Frame
         }
        }
    }