package elte.java2_utikalauz5.util; import java.util.*; /** Megfigyelési példa. @link.forrásfájl {@docRoot}/../data/util/src Nebancsvirag.java @link.letöltés {@docRoot}/../data/util Nebancsvirag.jar @since Java 2 Útikalauz programozóknak */ class Nebancsvirag extends java.util.Observable { /** Megfigyelési számláló. @link.forrásfájl {@docRoot}/../data/util/src Nebancsvirag.java @since Java 2 Útikalauz programozóknak */ static class Szamlalo implements java.util.Observer { int változások; public void update(java.util.Observable o, Object obj) { változások++; } public int változásokSzáma() { return változások; } } /** Megfigyelő osztály. @link.forrásfájl {@docRoot}/../data/util/src Nebancsvirag.java @since Java 2 Útikalauz programozóknak */ static class Spion implements java.util.Observer { public void update(java.util.Observable o, Object obj) { System.out.println("Ne bántsátok szegényt! Te meg '"+obj+"', menj vissza!"); } } public static void main(String argv[]) { Nebancsvirag n=new Nebancsvirag(); Szamlalo s=new Szamlalo(); Spion fióka=new Spion(); n.addObserver(s); n.addObserver(fióka); n.változik(new Integer(100)); n.változik("piszka, motoszka"); System.out.println("A Nebáncsvirágot " + s.változásokSzáma()+ "-szor változtatták."); } public void változik(Object o) { setChanged(); notifyObservers(o); } }