Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class Timer

    java.lang.Object
      |
      +--javax.swing.Timer

All Implemented Interfaces:
  Serializable

public class Timer
extends Object
implements Serializable

Causes an action to occur at a predefined rate. For example, an animation object can use a Timer as the trigger for drawing its next frame. For documentation and examples of using timers, see How to Use Timers in The Java Tutorial.

Each Timer has a list of ActionListeners and a delay (the time between actionPerformed() calls). When delay milliseconds have passed, a Timer sends the actionPerformed() message to its listeners. This cycle repeats until stop() is called, or halts immediately if the Timer is configured to send its message just once.

Using a Timer involves first creating it, then starting it using the start() method.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
  Serialized Form

Field Summary
`protected EventListenerList` | `listenerList`

Constructor Summary
`Timer(int delay, ActionListener listener)` Creates a Timer that will notify its listeners every delay milliseconds.

Method Summary
`void` | `addActionListener(ActionListener listener)` Adds an actionListener to the Timer
`protected void` | `fireActionPerformed(ActionEvent e)` Notify all listeners that have registered interest for notification on this event type.
`int` | `getDelay()` Returns the Timer's delay.
`int` | `getInitialDelay()` Returns the Timer's initial delay.
`EventListener[]` | `getListeners(Class listenerType)` Return an array of all the listeners of the given type that were added to this timer.
`static boolean` | `getLogTimers()` Returns true if logging is enabled.
`boolean` | `isCoalesce()` Returns true if the Timer coalesces multiple pending performCommand() messages.
`boolean` | `isRepeats()` Returns true if the Timer will send a actionPerformed() message to its listeners multiple times.
`boolean` | `isRunning()` Returns true if the Timer is running.
`void` | `removeActionListener(ActionListener listener)` Removes an ActionListener from the Timer.
`void` | `restart()` Restarts a Timer, canceling any pending firings, and causing it to fire with its initial dely.
`void` | `setCoalesce(boolean flag)` Sets whether the Timer coalesces multiple pending ActionEvent firings.
`void` | `setDelay(int delay)` Sets the Timer's delay, the number of milliseconds between successive actionPerfomed() messages to its listeners
`void` | `setInitialDelay(int initialDelay)` Sets the Timer's initial delay.
`static void` | `setLogTimers(boolean flag)` Enables or disables the timer log.
`void` | `setRepeats(boolean flag)` If flag is false, instructs the Timer to send actionPerformed() to its listeners only once, and then stop.
`void` | `start()` Starts the Timer, causing it to send actionPerformed() messages to its listeners.
`void` | `stop()` Stops a Timer, causing it to stop sending actionPerformed() messages to its Target.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### listenerList

    protected EventListenerList listenerList

Constructor Detail

### Timer

    public Timer(int delay,
                 ActionListener listener)

  Creates a Timer that will notify its listeners every delay milliseconds.
  Parameters:
    `delay` - The number of milliseconds between listener notification
    `listener` - An initial listener
  See Also:
    `setInitialDelay(int)`, `setRepeats(boolean)`

Method Detail

### addActionListener

    public void addActionListener(ActionListener listener)

  Adds an actionListener to the Timer

### removeActionListener

    public void removeActionListener(ActionListener listener)

  Removes an ActionListener from the Timer.

### fireActionPerformed

    protected void fireActionPerformed(ActionEvent e)

  Notify all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
  See Also:
    `EventListenerList`

### getListeners

    public EventListener[] getListeners(Class listenerType)

  Return an array of all the listeners of the given type that were added to this timer.
  Since:
    1.3

### setLogTimers

    public static void setLogTimers(boolean flag)

  Enables or disables the timer log. When enabled, a message is posted to System.out whenever the timer goes off.
  Parameters:
    `flag` - true to enable logging
  See Also:
    `getLogTimers()`

### getLogTimers

    public static boolean getLogTimers()

  Returns true if logging is enabled.
  Returns:
    true if logging is enabled
  See Also:
    `setLogTimers(boolean)`

### setDelay

    public void setDelay(int delay)

  Sets the Timer's delay, the number of milliseconds between successive actionPerfomed() messages to its listeners
  See Also:
    `setInitialDelay(int)`

### getDelay

    public int getDelay()

  Returns the Timer's delay.
  See Also:
    `setDelay(int)`

### setInitialDelay

    public void setInitialDelay(int initialDelay)

  Sets the Timer's initial delay. This will be used for the first "ringing" of the Timer only. Subsequent ringings will be spaced using the delay property.
  See Also:
    `setDelay(int)`

### getInitialDelay

    public int getInitialDelay()

  Returns the Timer's initial delay.
  See Also:
    `setDelay(int)`

### setRepeats

    public void setRepeats(boolean flag)

  If flag is false, instructs the Timer to send actionPerformed() to its listeners only once, and then stop.

### isRepeats

    public boolean isRepeats()

  Returns true if the Timer will send a actionPerformed() message to its listeners multiple times.
  See Also:
    `setRepeats(boolean)`

### setCoalesce

    public void setCoalesce(boolean flag)

  Sets whether the Timer coalesces multiple pending ActionEvent firings. A busy application may not be able to keep up with a Timer's message generation, causing multiple actionPerformed() message sends to be queued. When processed, the application sends these messages one after the other, causing the Timer's listeners to receive a sequence of actionPerformed() messages with no delay between them. Coalescing avoids this situation by reducing multiple pending messages to a single message send. Timers coalesce their message sends by default.

### isCoalesce

    public boolean isCoalesce()

  Returns true if the Timer coalesces multiple pending performCommand() messages.
  See Also:
    `setCoalesce(boolean)`

### start

    public void start()

  Starts the Timer, causing it to send actionPerformed() messages to its listeners.
  See Also:
    `stop()`

### isRunning

    public boolean isRunning()

  Returns true if the Timer is running.
  See Also:
    `start()`

### stop

    public void stop()

  Stops a Timer, causing it to stop sending actionPerformed() messages to its Target.
  See Also:
    `start()`

### restart

    public void restart()

  Restarts a Timer, canceling any pending firings, and causing it to fire with its initial dely.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.