import java.util.*;
// This is the observing class.
class Watcher implements Observer {
public void update(Observable obj, Object arg) {
System.out.println("update() called, count is " +
((Integer)arg).intValue());
}
}
/ This is the class being observed.
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");
}
}
}
}
class ObserverDemo {
public static void main(String args[]) {
BeingWatched observed = new BeingWatched();
Watcher observing = new Watcher();
/* Add the observing to the list of observers for
observed object.  */
observed.addObserver(observing);
observed.counter(10);
}
}
The output from this program is shown here:
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
Search WWH :
Custom Search
Previous Page
Java SE 6 Topic Index
Next Page
Java SE 6 Bookmarks
Home