home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPImageLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-08  |  2.3 KB  |  110 lines

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Image;
  4. import java.awt.MediaTracker;
  5. import java.awt.Toolkit;
  6. import java.io.File;
  7. import java.net.URL;
  8.  
  9. public class JDPImageLoader extends Applet implements Runnable {
  10.    JDPUser user;
  11.    Component target;
  12.    MediaTracker tracker;
  13.    String ImageURL;
  14.    Image thisImage;
  15.    int imageIndex;
  16.    boolean imageReady;
  17.    JDesignerPro thisJDP;
  18.  
  19.    public JDPImageLoader(JDPUser var1, Component var2, String var3) {
  20.       if (var2 instanceof JDPButton) {
  21.          this.thisJDP = JDPButton.thisJDP;
  22.       }
  23.  
  24.       if (var2 instanceof JDPTreePicker) {
  25.          this.thisJDP = JDPTreePicker.thisJDP;
  26.       }
  27.  
  28.       this.loadImage(var1, var2, var3, -1);
  29.    }
  30.  
  31.    public JDPImageLoader(JDPUser var1, JDPBrowser var2, String var3, int var4) {
  32.       this.loadImage(var1, var2, var3, var4);
  33.    }
  34.  
  35.    void loadImage(JDPUser var1, Component var2, String var3, int var4) {
  36.       this.user = var1;
  37.       this.target = var2;
  38.       this.ImageURL = var3;
  39.       this.imageIndex = var4;
  40.    }
  41.  
  42.    public void run() {
  43.       this.tracker = new MediaTracker(this);
  44.       if (this.thisJDP == null) {
  45.          if (this.target instanceof JDesignerPro) {
  46.             this.thisJDP = (JDesignerPro)this.target;
  47.          } else if (this.user != null) {
  48.             this.thisJDP = this.user.JDesignerPro;
  49.          }
  50.       }
  51.  
  52.       try {
  53.          String var2 = this.ImageURL;
  54.          if (this.user != null) {
  55.             var2 = this.user.u.replace(this.ImageURL, "/", File.separator);
  56.          }
  57.  
  58.          try {
  59.             if (!JDesignerPro.executable) {
  60.                URL var7 = new URL(this.ImageURL);
  61.                if (var7 != null) {
  62.                   this.thisImage = this.thisJDP.getImage(var7);
  63.                   this.tracker.addImage(this.thisImage, 0);
  64.                }
  65.             } else {
  66.                this.thisImage = Toolkit.getDefaultToolkit().getImage(var2);
  67.                this.tracker.addImage(this.thisImage, 0);
  68.             }
  69.          } catch (Exception var5) {
  70.             try {
  71.                if (!JDesignerPro.executable) {
  72.                   URL var1 = new URL(this.thisJDP.getCodeBase(), this.ImageURL);
  73.                   if (var1 != null) {
  74.                      this.thisImage = this.thisJDP.getImage(var1);
  75.                      this.tracker.addImage(this.thisImage, 0);
  76.                   }
  77.                } else {
  78.                   this.thisImage = Toolkit.getDefaultToolkit().getImage(var2);
  79.                   this.tracker.addImage(this.thisImage, 0);
  80.                }
  81.             } catch (Exception var4) {
  82.                this.thisImage = null;
  83.             }
  84.          }
  85.       } catch (Exception var6) {
  86.          this.thisImage = null;
  87.       }
  88.  
  89.       try {
  90.          this.tracker.waitForID(0);
  91.          if (this.thisImage != null) {
  92.             this.imageReady = true;
  93.             if (this.target instanceof JDesignerPro) {
  94.                ((JDesignerPro)this.target).JDPIconImage = this.thisImage;
  95.             } else if (this.target instanceof JDPBrowser) {
  96.                ((JDPBrowser)this.target).imageArray.setElementAt(this.thisImage, this.imageIndex);
  97.                ((JDPBrowser)this.target).repaint();
  98.             } else {
  99.                this.target.layout();
  100.             }
  101.          }
  102.       } catch (InterruptedException var3) {
  103.       }
  104.    }
  105.  
  106.    public boolean getImageReady() {
  107.       return this.imageReady;
  108.    }
  109. }
  110.