The Observer and Observable classes are superseded by a more elaborate event framework (see e333 Creating a Custom Event). However, these two classes can still be useful for implementing a simple event notifier.
// Declare the model
class MyModel extends Observable {
// The setChanged() protected method must overridden to make it public
public synchronized void setChanged() {
super.setChanged();
}
}
// Create the model
MyModel model = new MyModel();
// Register for events
model.addObserver(new Observer() {
public void update(Observable o, Object arg) {
}
});
// Indicate that the model has changed
model.setChanged();
// Fire an event to all the views
Object arg = "some information about the event";
model.notifyObservers(arg);