- import java.util.Observable;
- /**
- * @author Brandon B. Lin
- *
- */
- public class DataStore extends Observable {
- private String data;
- public String getData() {
- return data;
- }
- public void setData(String data) {
- this.data = data;
- /*mark the abservable as changed*/
- setChanged();
- }
- }
- -------------------------------------------------
- import java.util.Observable;
- import java.util.Observer;
- /**
- * @author Brandon B. Lin
- *
- */
- public class Screen implements Observer {
- private int observerId;
- public Screen(int observerId) {
- this.observerId = observerId;
- }
- @Override
- public void update(Observable o, Object arg) {
- // act on the update
- System.out.println(observerId + ": The subject has changed!");
- }
- }
- --------------------------------------------------------------
- /**
- * @author Brandon B. Lin
- *
- */
- public class Test {
- /**
- * @param args
- */
- public static void main(String[] args) {
- DataStore dataStore = new DataStore();
- Screen[] screens = new Screen[10];
- for (int i = 0; i < 10; i++) {
- screens[i] = new Screen(i);
- dataStore.addObserver(screens[i]);
- }
- dataStore.addObserver(screens[0]);
- dataStore.setData("new data");
- dataStore.notifyObservers(null);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/120520149529.html
来源: http://www.codesnippet.cn/detail/120520149529.html