Class Timer


  • public abstract class Timer
    extends java.lang.Object
    A simplified, browser-safe timer class. This class serves the same purpose as java.util.Timer, but is simplified because of the single-threaded environment.

    To schedule a timer, simply create a subclass of it (overriding run()) and call schedule(int) or scheduleRepeating(int).

    NOTE: If you are using a timer to schedule a UI animation, use AnimationScheduler instead. The browser can optimize your animation for maximum performance.

    Example

    public class TimerExample implements EntryPoint, ClickHandler {
    
      public void onModuleLoad() {
        Button b = new Button("Click and wait 5 seconds");
        b.addClickHandler(this);
    
        RootPanel.get().add(b);
      }
    
      public void onClick(ClickEvent event) {
        // Create a new timer that calls Window.alert().
        Timer t = new Timer() {
          @Override
          public void run() {
            Window.alert("Nifty, eh?");
          }
        };
    
        // Schedule the timer to run once in 5 seconds.
        t.schedule(5000);
      }
    }
    

    • Constructor Summary

      Constructors 
      Constructor Description
      Timer()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void cancel()
      Cancels this timer.
      (package private) void fire​(int scheduleCancelCounter)  
      boolean isRunning()
      Returns true if the timer is running.
      abstract void run()
      This method will be called when a timer fires.
      void schedule​(int delayMillis)
      Schedules a timer to elapse in the future.
      void scheduleRepeating​(int periodMillis)
      Schedules a timer that elapses repeatedly.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Timer

        public Timer()
    • Method Detail

      • isRunning

        public final boolean isRunning()
        Returns true if the timer is running. Timer is running if and only if it is scheduled but it is not expired or cancelled.
      • cancel

        public void cancel()
        Cancels this timer. If the timer is not running, this is a no-op.
      • run

        public abstract void run()
        This method will be called when a timer fires. Override it to implement the timer's logic.
      • schedule

        public void schedule​(int delayMillis)
        Schedules a timer to elapse in the future. If the timer is already running then it will be first canceled before re-scheduling.
        Parameters:
        delayMillis - how long to wait before the timer elapses, in milliseconds
      • scheduleRepeating

        public void scheduleRepeating​(int periodMillis)
        Schedules a timer that elapses repeatedly. If the timer is already running then it will be first canceled before re-scheduling.
        Parameters:
        periodMillis - how long to wait before the timer elapses, in milliseconds, between each repetition
      • fire

        final void fire​(int scheduleCancelCounter)