2011-01-08 3 views
0

У меня есть Image с именем worldImageToUse, и у меня есть Timer, который должен переключать worldImageToUse между двумя изображениями каждые 1 секунду. Но, похоже, это не работает. Помоги пожалуйста?Java Timer не работает

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

Похоже, ваш код говорит, если цвет установлен в черный и белый. Затем говорит, если черно-белый цвет установлен. Разве вы не получали бы одно и то же изображение каждый раз. Ваш второй, если нужно быть другим, если.