import java.util.Timer;
import java.util.TimerTask;
...
/**
* Timer object globally shared by all waiting events,
*/
private static Timer timer = new Timer();
/**
* Timer task that is run to schedule
* the next camera switch.
*/
private ScheduleRunner scheduleRunner;
/**
* set up an event to happen later
* @param delayInMillis how long to wait
*/
public void doLater( long delayInMillis )
{
scheduleRunner = new ScheduleRunner();
timer.schedule( scheduleRunner, delayInMillis );
}
/**
* inner class, run method will be invoked when time is up.
*/
class ScheduleRunner extends TimerTask
{
/**
* executed when time is up.
*/
public void run()
{
doSomething();
}
}