home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2002 March / PCWMAR02.iso / software / windowsxp / ftgateoffice / ftgateoffice.exe / Main / webhelp.jar / hhapplet / SplashScreen.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-11-07  |  2.5 KB  |  89 lines

  1. package hhapplet;
  2.  
  3. import java.applet.Applet;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.Label;
  11. import java.awt.MediaTracker;
  12. import java.awt.Point;
  13. import java.awt.Rectangle;
  14. import java.awt.Toolkit;
  15. import java.awt.Window;
  16.  
  17. public class SplashScreen extends Window implements Runnable {
  18.    private Thread thread = new Thread(this, "Splash screen");
  19.    private Image image;
  20.    private int timeout;
  21.    private boolean m_bIsIE3 = false;
  22.    private Point m_pntPosition;
  23.  
  24.    public SplashScreen(Applet var1, Image var2, int var3, String var4) {
  25.       super(new Frame("Splash screen hidden window"));
  26.       this.image = var2;
  27.       this.timeout = var3 == 0 ? 2500 : var3;
  28.       if (System.getProperty("java.vendor").startsWith("Microsoft") && System.getProperty("java.version").startsWith("1.0")) {
  29.          this.m_bIsIE3 = true;
  30.       }
  31.  
  32.       try {
  33.          if (var2 != null) {
  34.             var1.showStatus("Loading splash screen");
  35.             MediaTracker var5 = new MediaTracker(this);
  36.             var5.addImage(var2, 0);
  37.             var5.waitForID(0);
  38.             ((Component)this).resize(var2.getWidth(this), var2.getHeight(this));
  39.          } else {
  40.             ((Container)this).add("Center", new Label(var4));
  41.             ((Component)this).resize(200, 100);
  42.          }
  43.  
  44.          Rectangle var10 = ((Component)this).bounds();
  45.          Dimension var6 = Toolkit.getDefaultToolkit().getScreenSize();
  46.          int var7 = var6.width / 2 - var10.width / 2;
  47.          int var8 = var6.height / 2 - var10.height / 2;
  48.          this.m_pntPosition = new Point(var7, var8);
  49.          ((Component)this).move(var7, var8);
  50.          this.show();
  51.          this.thread.start();
  52.       } catch (InterruptedException var9) {
  53.          ((Throwable)var9).printStackTrace();
  54.       }
  55.    }
  56.  
  57.    public void paint(Graphics var1) {
  58.       try {
  59.          if (this.image != null) {
  60.             var1.drawImage(this.image, 0, 0, this);
  61.             return;
  62.          }
  63.       } catch (Exception var3) {
  64.          ((Throwable)var3).printStackTrace();
  65.       }
  66.  
  67.    }
  68.  
  69.    public void show() {
  70.       if (this.m_bIsIE3) {
  71.          Dimension var1 = ((Component)this).size();
  72.          ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
  73.          super.show();
  74.          ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
  75.       } else {
  76.          super.show();
  77.       }
  78.    }
  79.  
  80.    public void run() {
  81.       try {
  82.          Thread.sleep((long)this.timeout);
  83.          ((Window)this).dispose();
  84.       } catch (Exception var2) {
  85.          ((Throwable)var2).printStackTrace();
  86.       }
  87.    }
  88. }
  89.