view code/observer-example.java @ 33:97b57d24fd7b

added sample code; modified summary
author meillo@marmaro.de
date Fri, 10 Aug 2007 22:15:51 +0200
parents
children b2cefbd90180
line wrap: on
line source

        import java.util.Observable;
        import java.util.Observer;

        public class MessageBoard extends Observable {
          private String message;

          public String getMessage() {
            return message;
          }

          public void changeMessage(String message) {
            this.message = message;
            setChanged();
            notifyObservers(message);
          }

          public static void main(String[] args) {
            MessageBoard board = new MessageBoard();
            Student bob = new Student();
            Student joe = new Student();
            board.addObserver(bob);
            board.addObserver(joe);
            board.changeMessage("More Homework!");
          }
        }

        class Student implements Observer {
          public void update(Observable o, Object arg) {
            System.out.println("Message board changed: " + arg);
          }
        }