# Class UITimer

java.lang.Object
com.codename1.ui.util.UITimer

public class UITimer extends Object
Simple timer callback that is invoked on the CodenameOne EDT thread rather than on a separate thread. Notice that the accuracy of this timer is very low! A timer must be linked to a specific form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `UITimer()`
  This constructor is useful when deriving this class to implement a timer.
  ``
  `UITimer(Runnable r)`
  Constructor that accepts a runnable to invoke on timer elapse

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancel()`
  Stops executing the timer
  `void`
  `schedule(int timeMillis, boolean repeat, Form bound)`
  Binds the timer to start at the given schedule
  `static UITimer`
  `timer(int timeMillis, boolean repeat, Form parent, Runnable r)`
  Convenience method to schedule a UITimer more easily
  `static UITimer`
  `timer(int timeMillis, boolean repeat, Runnable r)`
  Convenience method to schedule a UITimer more easily on the current form

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Constructor Details

  - ### UITimer

    protected UITimer()
    This constructor is useful when deriving this class to implement a timer.

  - ### UITimer

    public UITimer(Runnable r)

    Constructor that accepts a runnable to invoke on timer elapse

    ###### Parameters

    - `r`: runnable instance

- ## Method Details

  - ### timer

    public static UITimer timer(int timeMillis, boolean repeat, Form parent, Runnable r)

    Convenience method to schedule a UITimer more easily

    ###### Parameters

    - `timeMillis`: the time from now in milliseconds

    - `repeat`: whether the timer repeats

    - `parent`: the form to which the timer is bound

    - `r`: callback when the timer elapses

    ###### Returns

    the timer instance

  - ### timer

    public static UITimer timer(int timeMillis, boolean repeat, Runnable r)

    Convenience method to schedule a UITimer more easily on the current form

    ###### Parameters

    - `timeMillis`: the time from now in milliseconds

    - `repeat`: whether the timer repeats

    - `r`: callback when the timer elapses

    ###### Returns

    the timer instance

  - ### schedule

    public void schedule(int timeMillis, boolean repeat, Form bound)

    Binds the timer to start at the given schedule

    ###### Parameters

    - `timeMillis`: the time from now in milliseconds

    - `repeat`: whether the timer repeats

    - `bound`: the form to which the timer is bound

  - ### cancel

    public void cancel()
    Stops executing the timer