2017-07-19 1 views
0

Ich frage mich, wie würde man das JLabel-Symbol von einem Bild zu einem anderen Bild ändern, und dann eine Sekunde warten und dann eine Funktion aufrufen. Ich habe die Thread.sleep und die Thread.wait Methoden zusammen mit einem Timer versucht und konnte es nicht zum Funktionieren bringen. Es würde das Symbol nicht ändern und würde sofort die Funktion aufrufen. Wenn Sie irgendwelche Vorschläge für mich haben, würden wir uns freuen.Wie ändert man das Symbol für ein Jlabel, dann warte eine Sekunde und ruft eine Funktion auf?

+0

versuchen Timeunit https://docs.oracle.com/javase/7/docs/api/java /util/concurrent/TimeUnit.html. Sie können TimeUnit.SECONDS.sleep (1) verwenden; – mfruizs2

Antwort

0

versuchen, mit bedingter Programmierung wie bei ersten Änderungs Symbol zu implementieren, wenn Symbol als nur anders nennt Funktion geändert wird, nicht, dass Sie diese

zum Handeln Zuhörer auch hinzufügen, können Sie auch ein leeres for-Schleife mit etwas Schlaf versuchen können, und für ein anderes Bild dann rufen und dann funktionieren oder wie Sie

0

mag ich denke dies ist eine Idee:

JLabel myLabelWithIcon = .....; 
new Runnable{ 
    @Override 
    public void run() { 
     if(myLabelWithIcon.hasOldImage()){ 
      // do the change here 
     } 
     else{ return; } 

     Thread.sleep(1000); // This code can take current runnable thread 

     CallAnotherFunction(); 
    } 
}.start(); 
Verwandte Themen