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