home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / awt / image / ImageWatched.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  1.4 KB  |  71 lines

  1. package sun.awt.image;
  2.  
  3. import java.awt.Image;
  4. import java.awt.image.ImageObserver;
  5. import java.util.Enumeration;
  6. import java.util.NoSuchElementException;
  7. import java.util.Vector;
  8.  
  9. public class ImageWatched {
  10.    protected Vector watchers;
  11.  
  12.    public synchronized void addWatcher(ImageObserver var1) {
  13.       if (var1 != null && !this.isWatcher(var1)) {
  14.          if (this.watchers == null) {
  15.             this.watchers = new Vector();
  16.          }
  17.  
  18.          this.watchers.addElement(var1);
  19.       }
  20.  
  21.    }
  22.  
  23.    public synchronized boolean isWatcher(ImageObserver var1) {
  24.       return this.watchers != null && var1 != null && this.watchers.contains(var1);
  25.    }
  26.  
  27.    public synchronized void removeWatcher(ImageObserver var1) {
  28.       if (var1 != null && this.watchers != null) {
  29.          this.watchers.removeElement(var1);
  30.          if (this.watchers.size() == 0) {
  31.             this.watchers = null;
  32.          }
  33.       }
  34.  
  35.    }
  36.  
  37.    public void newInfo(Image var1, int var2, int var3, int var4, int var5, int var6) {
  38.       if (this.watchers != null) {
  39.          Enumeration var7 = this.watchers.elements();
  40.          Vector var8 = null;
  41.  
  42.          while(var7.hasMoreElements()) {
  43.             ImageObserver var9;
  44.             try {
  45.                var9 = (ImageObserver)var7.nextElement();
  46.             } catch (NoSuchElementException var10) {
  47.                break;
  48.             }
  49.  
  50.             if (!var9.imageUpdate(var1, var2, var3, var4, var5, var6)) {
  51.                if (var8 == null) {
  52.                   var8 = new Vector();
  53.                }
  54.  
  55.                var8.addElement(var9);
  56.             }
  57.          }
  58.  
  59.          if (var8 != null) {
  60.             var7 = var8.elements();
  61.  
  62.             while(var7.hasMoreElements()) {
  63.                ImageObserver var12 = (ImageObserver)var7.nextElement();
  64.                this.removeWatcher(var12);
  65.             }
  66.          }
  67.       }
  68.  
  69.    }
  70. }
  71.