org.gnu.glib

Class Timer

public final class Timer extends 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 {@link org.gnu.gtk.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
intgetInterval()
Returns the interval associated with this Timer.
booleanisRunning()
Returns whether this timer is running.
voidsetInterval(int interval)
Set the interval associated with this Timer.
voidstart()
Start this timer object; that is, begin executing its fire method at its specified interval.
voidstop()
Stop this timer object; that is, stop executing its fire method at its specified interval.

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: 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.

isRunning

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

Returns: true if this timer is currently running.

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: 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.

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.