Grazie per la risposta! Quello che non capisco del Timer è come faccio a dirgli parti ed aspetta tot tempo all'oggetto timer.
Nel frattempo, per chi fosse interessato ho trovato una soluzione girandoci intorno, ed il risultato è comunque quello che mi aspettavo (anche se non sono soddisfatto perchè non ho risolto un problema nel modo più efficente!!)
public class TimedRepainter extends Thread()
{
public int secondsToWait;
private JPanel toRefresh;
private final int SECOND=1000;
private int multiplier;
private long startTime;
public TimedRepainter(int a, JPanel p, int mul)
{
secondsToWait=a;
toRefresh=p;
multiplier=mul;
}
public void run()
{
while(secondsToWait>0)
{
startTime=System.currentTimeMillis();
while(System.currentTimeMillis()-startTime<=multiplier*SECOND)
{
}
secondsToWait-=multiplier;
toRefresh.repaint();
}
this.interrupt();
}
}
Un'istanza di TimeDecreaser(tempo,pannello,moltiplicatore) chiamerà la repaint di pannello, ogni moltiplicatore secondi, per un periodo pari a tempo secondi!