annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
1 import java.util.Observable;
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
2 import java.util.Observer;
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
3
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
4 public class MessageBoard extends Observable {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
5 private String message;
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
6
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
7 public String getMessage() {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
8 return message;
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
9 }
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
10
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
11 public void changeMessage(String message) {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
12 this.message = message;
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
13 setChanged();
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
14 notifyObservers(message);
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
15 }
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
16
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
17 public static void main(String[] args) {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
18 MessageBoard board = new MessageBoard();
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
19 Student bob = new Student();
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
20 Student joe = new Student();
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
21 board.addObserver(bob);
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
22 board.addObserver(joe);
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
23 board.changeMessage("More Homework!");
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
24 }
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
25 }
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
26
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
27 class Student implements Observer {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
28 public void update(Observable o, Object arg) {
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
29 System.out.println("Message board changed: " + arg);
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
30 }
97b57d24fd7b added sample code; modified summary
meillo@marmaro.de
parents:
diff changeset
31 }