Как запустить таймер? - PullRequest
       0

Как запустить таймер?

3 голосов
/ 04 февраля 2010

Я хочу запустить таймер, который сообщает, что время истекло через 30 секунд, как это можно сделать?Какая-то задача, которая должна быть запущена только в течение нескольких секунд, а затем показывает, что срок ее действия истек, как я могу это сделать?

Ответы [ 3 ]

7 голосов
/ 04 февраля 2010

Я бы рекомендовал использовать ScheduledExecutorService из пакета java.util.concurrent, который имеет более богатый API, чем другие Timer реализации в JDK.

// Create timer service with a single thread.
ScheduledExecutorService timer = Executors.newSingleThreadScheduledExecutor();

// Schedule a one-off task to run in 10 seconds time.
// It is also possible to schedule a repeating task.
timer.schedule(new Callable<Void>() {
  public Void call() {
    System.err.println("Expired!");

    // Return a value here.  If we know we don't require a return value
    // we could submit a Runnable instead of a Callable to the service.
    return null;
  }
}, 10L, TimeUnit.SECONDS);
4 голосов
/ 04 февраля 2010

Метод actionPerformed вызывается через 30 секунд

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.Timer;

public class TimerExample {
    public static void main(String args[]) {
        new JFrame().setVisible( true );
        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent actionEvent) {
                System.out.println( "expired" );
            }
        };
        Timer timer = new Timer( 30000, actionListener );
        timer.start();
    }
}
0 голосов
/ 04 февраля 2010

Использование Таймер .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...