comparison 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
comparison
equal deleted inserted replaced
33:97b57d24fd7b 34:b2cefbd90180
1 import java.util.Observable; 1 import java.util.Observable;
2 import java.util.Observer; 2 import java.util.Observer;
3 3
4 public class MessageBoard extends Observable { 4 public class MessageBoard extends Observable {
5 private String message; 5 private String message;
6 6
7 public String getMessage() { 7 public String getMessage() {
8 return message; 8 return message;
9 } 9 }
10 10
11 public void changeMessage(String message) { 11 public void changeMessage(String message) {
12 this.message = message; 12 this.message = message;
13 setChanged(); 13 setChanged();
14 notifyObservers(message); 14 notifyObservers(message);
15 } 15 }
16 16
17 public static void main(String[] args) { 17 public static void main(String[] args) {
18 MessageBoard board = new MessageBoard(); 18 MessageBoard board = new MessageBoard();
19 Student bob = new Student(); 19 Student bob = new Student();
20 Student joe = new Student(); 20 Student joe = new Student();
21 board.addObserver(bob); 21 board.addObserver(bob);
22 board.addObserver(joe); 22 board.addObserver(joe);
23 board.changeMessage("More Homework!"); 23 board.changeMessage("More Homework!");
24 } 24 }
25 } 25 }
26 26
27 class Student implements Observer { 27 class Student implements Observer {
28 public void update(Observable o, Object arg) { 28 public void update(Observable o, Object arg) {
29 System.out.println("Message board changed: " + arg); 29 System.out.println("Message board changed: " + arg);
30 } 30 }
31 } 31 }