Ora bem o que eu preciso de implementar era algo do tipo cronometro ou seja que verifique quando passa 60 min e 1 min e para isso implementei esta class, ela realmente faz o que quero ela fica a em sleep 60 secs e passado esse tempo ele vai há instância time e vê em que minuto vai e se for = 0 e faz um print se não form apenas faz print do minuto.
Código
import java.util.GregorianCalendar;
import java.util.Calendar;
public class Timer extends Thread{
GregorianCalendar time;
public Timer(){
this.time = new GregorianCalendar();
}
public void run(){
try{
while(true){
Thread.sleep(60000);
if(this.time.MINUTE == 0){
System.out.println("Mudou a hora.");
}
System.out.println(this.time.get(Calendar.MINUTE));
}
}
catch(Exception e){
e.printStackTrace();
}
}
O problema é que o GregorianCalendar guarda um “Calendar” da hora actual e não o actualiza como tal ele tá sempre no mesmo tempo!
Ok isto podia ser resolvido fazendo new GregorianCalendar mas penso que estar a instanciar um novo objecto a cada 60secs é no mínimo mau.
Alguém sabe uma forma de resolver isto ?