Здравствуйте, никак не могу понять, как сделать так, чтобы выводить сколько осталось времени до конца таймера. вот код:
timer.schedule(new TimerTask() {
@Override
public void run() {
// sout
}
}, 2*60*1000);
Может быть кто-нибудь натолкнет или опишет, как это можно реализовать...
Так вам не пойдет:
private static long TIME = 2*60*1000;
timer.schedule(new TimerTask() {
private final long startTime = System.currentTimeMillis();
@Override
public void run() {
System.out.println("Осталось" + (TIME -
System.currentTimeMillis() - startTime))
}
}, TIME);
? Когда будет создан TimerTask запишется start_time, от которого и будет отсчитываться время работы. Можно вообще записывать время только после первого выполнения вроде:
private static long TIME = 2*60*1000;
timer.schedule(new TimerTask() {
private final Long startTime;
@Override
public void run() {
if (startTime == null ) {
startTime = System.currentTimeMillis();
}
System.out.println("Осталось" + (TIME -
System.currentTimeMillis() - startTime))
}
}, TIME);
Или у вас изначально TimerTask не знает сколько будет выполняться?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей