2010-11-27 6 views
0

Kurz: Ich möchte einen neuen Befehl 3 Sekunden nach dem ersten Befehl ausgeführt werden.Java ersetzt ein Icon Bild nach X Zeit vergeht

DIE GESCHICHTE: Ich habe eine Aktionstaste, die einmal drückt ein Symbolbild (eine Animation) auf einem der Jlabels setzt (ersetzt).

JLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/iamg/slash.gif"))); 

Alles, was ich will ist, das Symbol nach X Zeit wieder zu dem ehemaligen zu ersetzen. Mit anderen Worten, ich möchte, dass die neue Animation beendet wird (was ungefähr 4 Sekunden dauert) und nach diesen 4 Sekunden konnte ich ein neues Icon setzen.

Ich weiß, das unforutly mit einem Gewinde getan werden kann, habe ich keine Ahnung, wie, da alles, was ich weiß, ist das ganze Programm zu stoppen so etwas wie dies mit:

try 
{ 
    Thread.sleep(3000);  
} 
catch (InterruptedException ex) 
{ 

} 

die auch die Animation es sich von selbst anhält, anstatt zu warten, bis 3 Sekunden vergangen sind, bevor der neue Befehl ausgeführt wird. Hilfe bitte?

Antwort

1

Sie sollten eine Timer verwenden. Siehe this tutorial für die Verwendung. Grundsätzlich müssen Sie dem Timer einen Aktionslistener hinzufügen, damit das Symbol ersetzt werden kann.

+0

Danke für die schnelle Antwort .. Wusste vorher nicht über Swing-Timer, das ist perfekt. – user522087

Verwandte Themen