Salve a tutti, ho realizzato un piccolo programma che simula un orologio, ora vorrei pero' animarlo, di modo che legga l'ora dal sistema e ridisegni ogni secondo il mio orologio.
Ho cosi' creato la classe RandomAction che riporto di seguito:
codice:
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.logging.Level;
import java.util.logging.Logger;
public class RandomAction extends Thread implements Runnable {
AutoPanel autoPanel;
boolean pause = true;
int time = 1; //1 secondo
int hours;
int minutes;
int seconds;
public RandomAction(AutoPanel autopanel) {
this.autoPanel = autoPanel;
}
@Override
public void run() {
while(true) {
try {
if(!pause) {
this.sleep(time);
System.out.println("sono dentro");
Calendar c = new GregorianCalendar();
this.hours = c.get(Calendar.HOUR_OF_DAY);
this.minutes = c.get(Calendar.MINUTE);
this.seconds = c.get(Calendar.SECOND);
this.autoPanel.t.hours = this.hours;
this.autoPanel.t.minutes = this.minutes;
this.autoPanel.t.seconds = this.seconds;
this.autoPanel.drwPanel.repaint();
}
} catch (InterruptedException ex) {
Logger.getLogger(RandomAction.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
Il problema e' che quando modifico il valore di pause, non succede nulla, non viene disegnato nulla e non si muove nulla.