view code/observer-example.java @ 34:b2cefbd90180

some redesign; new content for summary and appendix
author meillo@marmaro.de
date Sat, 11 Aug 2007 12:49:00 +0200
parents 97b57d24fd7b
children
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);
      }
    }