org.gnu.glib
Class Timer

java.lang.Object
  extended by org.gnu.glib.Timer

public final class Timer
extends java.lang.Object

Timer: an object that executes a Fireable target object's fire method at a specified interval.

For example, here's how an application clock might be implemented, where the application passes in an Label object as its pane:

 private final Label clockPane = (Label) glade.getWidget("clockLabel");
 private Timer clock = new Timer(1000, // one second
         new Fireable() {
             public boolean fire() {
                 String dateStr = DateFormat.getDateInstance()
                         .format(new Date());
                 clockPane.setText(dateStr);
                 return true; // continue firing
             }
         });
 clock.start();
 

Note: a Timer generates events on the application's GUI event queue. It therefore is not accurate for short time periods. It also should only be used to directly fire short/fast methods. Longer methods need to be executed in a separate thread.

See Also:
Fireable

Constructor Summary
Timer(int interval, Fireable target)
          Create a new Timer object.
 
Method Summary
 int getInterval()
          Returns the interval associated with this Timer.
 boolean isRunning()
          Returns whether this timer is running.
 void setInterval(int interval)
          Set the interval associated with this Timer.
 void start()
          Start this timer object; that is, begin executing its fire method at its specified interval.
 void stop()
          Stop this timer object; that is, stop executing its fire method at its specified interval.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Timer

public Timer(int interval,
             Fireable target)
Create a new Timer object.

Parameters:
interval - the time period between fire method executions, in thousandths of a second.
target - the object whose fire() method gets called after the specified time period elapses.
Throws:
java.lang.IllegalArgumentException - if less than one.
Method Detail

getInterval

public final int getInterval()
Returns the interval associated with this Timer.

Returns:
the time period between fire method executions, in thousandths of a second.

setInterval

public final void setInterval(int interval)
Set the interval associated with this Timer.

Parameters:
interval - the time period between fire method executions, in thousandths of a second.
Throws:
java.lang.IllegalArgumentException - if less than one.

start

public final void start()
Start this timer object; that is, begin executing its fire method at its specified interval.


isRunning

public final boolean isRunning()
Returns whether this timer is running.

Returns:
true if this timer is currently running.

stop

public final void stop()
Stop this timer object; that is, stop executing its fire method at its specified interval. This method does not need to be called if the fire method returned false.