home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / Documents / JAVA Programming / examples / 18 / TrackedImageLoad.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-09-08  |  2.1 KB  |  62 lines

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Graphics;
  4. import java.awt.Image;
  5. import java.awt.MediaTracker;
  6.  
  7. public class TrackedImageLoad extends Applet implements Runnable {
  8.    MediaTracker tracker;
  9.    int tracked;
  10.    Thread motor;
  11.    boolean loaded;
  12.    Image art;
  13.  
  14.    public void init() {
  15.       this.tracker = new MediaTracker(this);
  16.       this.art = ((Applet)this).getImage(((Applet)this).getDocumentBase(), ((Applet)this).getParameter("img"));
  17.       this.tracker.addImage(this.art, this.tracked++);
  18.    }
  19.  
  20.    public void paint(Graphics var1) {
  21.       if (this.imagesLoaded()) {
  22.          var1.drawImage(this.art, 0, 0, this);
  23.          this.loaded = true;
  24.       }
  25.  
  26.    }
  27.  
  28.    public boolean imagesLoaded() {
  29.       boolean var1 = false;
  30.  
  31.       for(int var2 = 0; var2 < this.tracked; ++var2) {
  32.          var1 &= this.tracker.checkID(var2, true);
  33.          System.out.println(var2 + " : " + (this.loaded ? "done" : "loading"));
  34.       }
  35.  
  36.       return var1;
  37.    }
  38.  
  39.    public void start() {
  40.       this.motor = new Thread(this);
  41.       this.motor.start();
  42.    }
  43.  
  44.    public void stop() {
  45.       this.motor.stop();
  46.    }
  47.  
  48.    public void run() {
  49.       this.motor.setPriority(1);
  50.  
  51.       while(!this.loaded) {
  52.          ((Component)this).repaint();
  53.  
  54.          try {
  55.             Thread.sleep(200L);
  56.          } catch (InterruptedException var1) {
  57.          }
  58.       }
  59.  
  60.    }
  61. }
  62.