2011-01-08 11 views
0

Ich habe eine Image mit dem Namen worldImageToUse und ich habe eine Timer, die worldImageToUse zwischen zwei Bilder alle 1 Sekunde umschalten soll. Aber es scheint nicht zu funktionieren. Hilfe bitte?Java Timer funktioniert nicht

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(); 
    } 

Antwort

2

Zweimal überprüft, ändern Sie die zweite wenn mit "else if", das wird das Problem lösen. Außerdem sollten Sie in solchen Fällen das Debugging in Erwägung ziehen :)

0

Haben Sie repaint() die Komponente afer Einstellung des Bildes?

1

Es sieht so aus, als ob Ihr Code sagt, wenn die Farbe auf schwarz und weiß eingestellt ist. Dann wird gesagt, ob Schwarz und Weiß auf Farbe eingestellt sind. Würden Sie nicht immer mit dem gleichen Bild enden? Deine zweite, wenn es eine andere sein muss, wenn.