class MyTimerTask extends TimerTask{
public void run() {...};
}
class Main(){
MyTimerTask myTask = new MyTimerTask();
Timer myTimer = new Timer();
myTimer.schedule(myTask,0 , 5000);
if(...){
//Получить текущие время таймера
}
}
или нужно использовать какой-то другой класс?
Смотрели класс Calendar
?
java.util.Calendar calendarTime = java.util.Calendar.getInstance();
int nHour = calendarTime.get(java.util.Calendar.HOUR_OF_DAY);
int nMinute = calendarTime.get(java.util.Calendar.MINUTE);
// nHour/nMinute будут иметь текущие значения часов или минут
// можно вытаскивать также и секунды и так далее
Если тебе надо работать с миллисекундами, то весь код ниже преобразует миллисекунды в нужные значения
long timeInMilliseconds = calendarTime.getTimeInMillis();
//проводишь здесь какую-то свою работу
//...
// и теперь вытаскиваешь нужное из обьекта data, там будет та дата,
// которую ты сохранил вначале и присвоил этому объекту
Date date = new Date();
date.setTime(timeInMilliseconds);
date.getDate();
date.getDay();
date.getHours();
date.getMinutes();
date.getSeconds();
date.getYear();
date.getMonth();
Log.e("TAG", "onCreate: timeInMilliseconds() = " + timeInMilliseconds);
Log.e("TAG", "onCreate: date.getDate() = " + date.getDate());
Log.e("TAG", "onCreate: date.getDay() = " + date.getDay());
Log.e("TAG", "onCreate: date.getHours() = " + date.getHours());
Log.e("TAG", "onCreate: date.getMinutes() = " + date.getMinutes());
Log.e("TAG", "onCreate: date.getSeconds() = " + date.getSeconds());
Log.e("TAG", "onCreate: date.getYear() = " + date.getYear());
Log.e("TAG", "onCreate: date.getMonth() = " + date.getMonth());
У меня работает, проверял.
Если тебе нужно будет узнать разницу начального и конечного времени, создаёшь один timeInMilliseconds вначале процесса и один timeInMilliseconds2 в конце, а после, вычитаешь 2е от 1го и переводишь в нормальный вид через класс Date(как я сделал выше)
Мне нужно сделать прослушивание клавы, но использовать JFrame нельзя, только JWindowВыходит, что при нажатии ничего не происходит