// example of using java.util.Timer
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();
      }
   } // end inner class ScheduleRunner