homeduke Prof. Dr. Uwe Schmidt FH Wedel

Die Datei: Counter.java


weiter
   1/* das Modell:
   2 * die Counter Klasse mit
   3 * den Routinen zur Ereignis-Verwaltung
   4 */
   5
   6import java.util.Vector;
   7
   8public
   9class Counter {
  10  int cnt;
  11
  12  public
  13  Counter() {
  14    this.cnt = 0;
  15    counterChangedListeners = new Vector();
  16  }
  17
  18  //--------------------
  19  
  20  public
  21  void incr(int i) {
  22    cnt += i;
  23
  24    notifyCounterChanged();
  25  }
  26
  27  //--------------------
  28  // event listener verwalten
  29
  30  private
  31  Vector counterChangedListeners;
  32
  33  protected
  34  void notifyCounterChanged() {
  35    Vector l;
  36    CounterChangedEvent e = new CounterChangedEvent(this,cnt);
  37
  38    synchronized (this) {
  39      l = (Vector)counterChangedListeners.clone();
  40    }
  41
  42    for ( int i = 0;
  43          i < l.size();
  44          ++i ) {
  45      ((CounterChangedListener)l.elementAt(i)).counterChanged(e);
  46    }
  47  }
  48
  49  //--------------------
  50
  51  public
  52  synchronized
  53  void addCounterChangedListener(CounterChangedListener l) {
  54    counterChangedListeners.addElement(l);
  55  }
  56
  57  public
  58  synchronized
  59  void removeCounterChangedListener(CounterChangedListener l) {
  60    counterChangedListeners.removeElement(l);
  61  }
  62}

Die Quelle: Counter.java


Letzte Änderung: 09.06.2008
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel