Java by API/java.util/Observable — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 17:11, 31 мая 2010
extends Observable
<source lang="java">
/*
* 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); }
}
</source>