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

protected void
finalize()
Do not call this method; it's only purpose is to ensure that the timer is stopped before it is GC'd.
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

finalize

protected final void finalize()
            throws Throwable
Do not call this method; it's only purpose is to ensure that the timer is stopped before it is GC'd.

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.