edu.umd.cs.piccolox.swt
Class SWTTimer

java.lang.Object
  extended by javax.swing.Timer
      extended by edu.umd.cs.piccolox.swt.SWTTimer
All Implemented Interfaces:
Serializable

public class SWTTimer
extends Timer

SWT timer.

Author:
Lance Good
See Also:
Serialized Form

Nested Class Summary
(package private)  class SWTTimer.SWTDoPostEvent
          DoPostEvent is a runnable class that fires actionEvents to the listeners on the EventDispatchThread, via invokeLater.
 
Field Summary
(package private)  boolean running
           
 
Fields inherited from class javax.swing.Timer
listenerList
 
Constructor Summary
SWTTimer(org.eclipse.swt.widgets.Display display, int delay, ActionListener listener)
          Constructor for SWTTimer.
 
Method Summary
(package private)  void cancelEventOverride()
          Resets the internal state to indicate this Timer shouldn't notify any of its listeners.
protected  void fireActionPerformed(ActionEvent e)
          Notifies all listeners that have registered interest for notification on this event type.
 int getDelay()
          Returns the delay, in milliseconds, between firings of action events.
 long getExpirationTime()
           
 int getInitialDelay()
          Returns the Timer's initial delay.
(package private)  SWTTimer getNextTimer()
           
 boolean isCoalesce()
          Returns true if the Timer coalesces multiple pending action events.
 boolean isRepeats()
          Returns true (the default) if the Timer will send an action event to its listeners multiple times.
 boolean isRunning()
          Returns true if the Timer is running.
(package private)  void postOverride()
           
 void restart()
          Restarts the Timer, canceling any pending firings and causing it to fire with its initial delay.
 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 action events.
 void setExpirationTime(long expirationTime)
           
 void setInitialDelay(int initialDelay)
          Sets the Timer's initial delay, which by default is the same as the between-event delay.
(package private)  void setNextTimer(SWTTimer nextTimer)
           
 void setRepeats(boolean flag)
          If flag is false, instructs the Timer to send only one action event to its listeners.
 void setRunning(boolean running)
           
 void start()
          Starts the Timer, causing it to start sending action events to its listeners.
 void stop()
          Stops the Timer, causing it to stop sending action events to its listeners.
(package private)  SWTTimerQueue timerQueue()
          Returns the timer queue.
 
Methods inherited from class javax.swing.Timer
addActionListener, getActionCommand, getActionListeners, getListeners, getLogTimers, removeActionListener, setActionCommand, setLogTimers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

running

boolean running
Constructor Detail

SWTTimer

public SWTTimer(org.eclipse.swt.widgets.Display display,
                int delay,
                ActionListener listener)
Constructor for SWTTimer.

Parameters:
display - display associated with this timer
delay - time in milliseconds between firings of this timer
listener - action listener to fire when the timer fires
Method Detail

fireActionPerformed

protected void fireActionPerformed(ActionEvent e)
Notifies all listeners that have registered interest for notification on this event type.

Overrides:
fireActionPerformed in class Timer
Parameters:
e - the action event to fire

timerQueue

SWTTimerQueue timerQueue()
Returns the timer queue.


setDelay

public void setDelay(int delay)
Sets the Timer's delay, the number of milliseconds between successive action events.

Overrides:
setDelay in class Timer
Parameters:
delay - the delay in milliseconds
See Also:
setInitialDelay(int)

getDelay

public int getDelay()
Returns the delay, in milliseconds, between firings of action events.

Overrides:
getDelay in class Timer
Returns:
delay in milliseconds between firings of this timer
See Also:
setDelay(int), getInitialDelay()

setInitialDelay

public void setInitialDelay(int initialDelay)
Sets the Timer's initial delay, which by default is the same as the between-event delay. This is used only for the first action event. Subsequent action events are spaced using the delay property.

Overrides:
setInitialDelay in class Timer
Parameters:
initialDelay - the delay, in milliseconds, between the invocation of the start method and the first action event fired by this timer
See Also:
setDelay(int)

getInitialDelay

public int getInitialDelay()
Returns the Timer's initial delay. By default this is the same as the value returned by getDelay.

Overrides:
getInitialDelay in class Timer
Returns:
the initial delay of this timer
See Also:
setInitialDelay(int), setDelay(int)

setRepeats

public void setRepeats(boolean flag)
If flag is false, instructs the Timer to send only one action event to its listeners.

Overrides:
setRepeats in class Timer
Parameters:
flag - specify false to make the timer stop after sending its first action event

isRepeats

public boolean isRepeats()
Returns true (the default) if the Timer will send an action event to its listeners multiple times.

Overrides:
isRepeats in class Timer
Returns:
true if this timer should repeat when completed
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 event generation, causing multiple action events to be queued. When processed, the application sends these events one after the other, causing the Timer's listeners to receive a sequence of events with no delay between them. Coalescing avoids this situation by reducing multiple pending events to a single event. Timers coalesce events by default.

Overrides:
setCoalesce in class Timer
Parameters:
flag - specify false to turn off coalescing

isCoalesce

public boolean isCoalesce()
Returns true if the Timer coalesces multiple pending action events.

Overrides:
isCoalesce in class Timer
Returns:
true if this timer coalesces multiple pending action events
See Also:
setCoalesce(boolean)

start

public void start()
Starts the Timer, causing it to start sending action events to its listeners.

Overrides:
start in class Timer
See Also:
stop()

isRunning

public boolean isRunning()
Returns true if the Timer is running.

Overrides:
isRunning in class Timer
Returns:
true if this timer is scheduled to run
See Also:
start()

stop

public void stop()
Stops the Timer, causing it to stop sending action events to its listeners.

Overrides:
stop in class Timer
See Also:
start()

restart

public void restart()
Restarts the Timer, canceling any pending firings and causing it to fire with its initial delay.

Overrides:
restart in class Timer

cancelEventOverride

void cancelEventOverride()
Resets the internal state to indicate this Timer shouldn't notify any of its listeners. This does not stop a repeatable Timer from firing again, use stop for that.


postOverride

void postOverride()

setExpirationTime

public void setExpirationTime(long expirationTime)
Parameters:
expirationTime - the expirationTime to set

getExpirationTime

public long getExpirationTime()
Returns:
the expirationTime

setNextTimer

void setNextTimer(SWTTimer nextTimer)
Parameters:
nextTimer - the nextTimer to set

getNextTimer

SWTTimer getNextTimer()
Returns:
the nextTimer

setRunning

public void setRunning(boolean running)
Parameters:
running - the running to set


Copyright © 1995-2011 Piccolo2D. All Rights Reserved.