Там может быть два подхода для случая использования:
Первый подход:
Как сказать, что я хочу, чтобы показать картину на 1000 секунд. Поэтому я буду выполнять цикл до 1000 секунд; или если вы хотите запустить его бесконечно, вы можете изменить условие в цикле. Ниже код будет выполнять цикл for после каждой 5-секундной задержки.
int delayTimeInMiliSec;
for(int delayTime = 5 ; delayTime<=1000; delayTime = delayTime+5){
delayTimeInMiliSec = delayTime * 1000;
// here Call your method that shows pictures
Thread.sleep(delayTimeInMiliSec);
}
Второй подход:
- создать класс, расширяющий TimerTask (доступный в java.util пакете). TimerTask - абстрактный класс.
- Напишите свой код в общедоступном методе void run(), который вы хотите выполнять периодически.
Пример кода:
import java.util.TimerTask;
// Create a class extends with TimerTask
public class ScheduledTask extends TimerTask {
// Add your task here
@Override
public void run() {
//show pictures code
}
}
import java.util.Timer;
public class SchedulerMain {
public static void main(String args[]) throws InterruptedException {
Timer time = new Timer(); // Instantiate Timer Object
ScheduledTask st = new ScheduledTask(); // Instantiate SheduledTask class
time.schedule(st, 0, 5000); // Create Repetitively task for every 5 secs
}
}
дублировать http://stackoverflow.com/questions/8386545/java-timer-with-not-fixed-delay –
Что 'Timer'? 'java.util.Timer' или' javax.swing.Timer'? – MadProgrammer