Boa tarde Pessoal, procurei durante algum tempo algo neste sentido aqui no forum, porem nenhum atendia a minha necessidade, entao graças ao nosso amigo Vini Godoy que indicou o JodaTime eu resolvi escrever meu cronometro regressivo, nao sei se eu posso postar este codigo aqui, caso contrario, por favor movam se quiserem ou deletem caso seja contrario as normas do guj ok?
import org.joda.time.DateTime;
import org.joda.time.DateTimeFieldType;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class Cronometro {
private static int segundos;
private static DateTime dt;
private static DateTime tempoSomado;
public Cronometro(final int minutos) {
Cronometro.dt = new DateTime(0);
Cronometro.tempoSomado = Cronometro.dt.plusMinutes(minutos);
}
public static void main(final String[] args) throws InterruptedException {
String s = "";
Cronometro cron = new Cronometro(1);
while (!(s = cron.contagemRegressiva()).equals("00:00")) {
System.out.println(s);
}
}
public String contagemRegressiva() throws InterruptedException {
DateTimeFormatter df = DateTimeFormat.forPattern("mm:ss");
String s = "";
Cronometro.tempoSomado = Cronometro.tempoSomado.minusSeconds(1);
Thread.sleep(1000);
s = df.print(Cronometro.tempoSomado);
return s;
}
public static void contagemRegressiva(final int minutos, final String mensagem) throws InterruptedException {
DateTime dt = new DateTime(0);
DateTime tempoSomado = dt.plusMinutes(minutos);
DateTimeFormatter df = DateTimeFormat.forPattern("mm:ss");
String s = "";
while (!s.equals("00:00")) {
tempoSomado = tempoSomado.minusSeconds(1);
Thread.sleep(1000);
s = df.print(tempoSomado);
System.out.println(s);
}
System.out.println(mensagem);
}