org.gnu.glib

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

Constructor Details

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.

Method Details

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.

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.