FileDocCategorySizeDatePackage
ObservDemo.javaAPI DocExample987Sat Nov 25 12:54:16 GMT 2000None

ObservDemo.java

import java.util.*;

/**
 * A simple demo of Observable->Observer
 *
 * @author Ian Darwin
 * @version $Id: ObservDemo.java,v 1.2 2000/11/25 17:54:17 ian Exp $
 */
public class ObservDemo extends Object {
	MyObserver observer;
	MyObservable model;
	public ObservDemo() {

		observer = new MyObserver();

		model = new MyObservable(); 
		model.addObserver(observer);

	}

	public static void main(String[] av) {
		ObservDemo me = new ObservDemo();
		me.demo();
	}

	public void demo() {
		model.changeSomething();
	}
}

/** The Observer normally maintains a view on the data */
class MyObserver implements Observer {
	/** For now, we just print the fact that we got notified. */
	public void update( Observable obs, Object x ) {
		System.out.println("update(" + obs + "," + x + ");");
	}
}

/** The Observable normally maintains the data */
class MyObservable extends Observable {
	public void changeSomething() {
		// Notify observers of change
		setChanged();
		notifyObservers();
	}
}