2011-01-08 52 views
0

我有一个Image名为worldImageToUse,我有一个Timer,它应该在每两秒之间在两幅图像之间切换worldImageToUse。但它似乎并不奏效。请帮助?Java定时器不工作

public void startWorldImageFlash() { 
     worldImageFlashTimer = new Timer(); 
     TimerTask task = new TimerTask() { 
      @Override 
      public void run() { 
       if(worldImageToUse == worldImage) setWorldImageBW(); 
       if(worldImageToUse == worldImageBW) setWorldImageColor(); 
      } 
     }; 
     worldImageFlashTimer.scheduleAtFixedRate(task, 0, 1000); 
    } 


public void stopWorldImageFlash() { 
     worldImageFlashTimer.cancel(); 
     setWorldImageColor(); 
    } 

回答

2

检查两次,如果用“else if”更改第二个,那将解决问题。另外,您应该考虑在这种情况下进行调试:)

0

您是否在repaint()设置了图像?

1

它看起来像你的代码说,如果颜色设置为黑色和白色。然后说如果黑色和白色设置为彩色。你不是每次都会得到相同的图像吗?你的第二个如果需要成为其他人。