Mega Code Archive

 
Categories / Java by API / Java Util
 

Extends Observable

/*  * Output:  update() called, count is 10 update() called, count is 9 update() called, count is 8 update() called, count is 7 update() called, count is 6 update() called, count is 5 update() called, count is 4 update() called, count is 3 update() called, count is 2 update() called, count is 1 update() called, count is 0  *    */ import java.util.Observable; import java.util.Observer; class Watcher implements Observer {   public void update(Observable obj, Object arg) {     System.out.println("update() called, count is "         + ((Integer) arg).intValue());   } } class BeingWatched extends Observable {   void counter(int period) {     for (; period >= 0; period--) {       setChanged();       notifyObservers(new Integer(period));       try {         Thread.sleep(100);       } catch (InterruptedException e) {         System.out.println("Sleep interrupted");       }     }   } } public class MainClass {   public static void main(String args[]) {     BeingWatched observed = new BeingWatched();     Watcher observing = new Watcher();     observed.addObserver(observing);     observed.counter(10);   } }