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:
Il problema e' che quando modifico il valore di pause, non succede nulla, non viene disegnato nulla e non si muove nulla.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); } } } }

Rispondi quotando