home *** CD-ROM | disk | FTP | other *** search
- package hhapplet;
-
- import java.applet.Applet;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Label;
- import java.awt.MediaTracker;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.Toolkit;
- import java.awt.Window;
-
- public class SplashScreen extends Window implements Runnable {
- private Thread thread = new Thread(this, "Splash screen");
- private Image image;
- private int timeout;
- private boolean m_bIsIE3 = false;
- private Point m_pntPosition;
-
- public SplashScreen(Applet var1, Image var2, int var3, String var4) {
- super(new Frame("Splash screen hidden window"));
- this.image = var2;
- this.timeout = var3 == 0 ? 2500 : var3;
- if (System.getProperty("java.vendor").startsWith("Microsoft") && System.getProperty("java.version").startsWith("1.0")) {
- this.m_bIsIE3 = true;
- }
-
- try {
- if (var2 != null) {
- var1.showStatus("Loading splash screen");
- MediaTracker var5 = new MediaTracker(this);
- var5.addImage(var2, 0);
- var5.waitForID(0);
- ((Component)this).resize(var2.getWidth(this), var2.getHeight(this));
- } else {
- ((Container)this).add("Center", new Label(var4));
- ((Component)this).resize(200, 100);
- }
-
- Rectangle var10 = ((Component)this).bounds();
- Dimension var6 = Toolkit.getDefaultToolkit().getScreenSize();
- int var7 = var6.width / 2 - var10.width / 2;
- int var8 = var6.height / 2 - var10.height / 2;
- this.m_pntPosition = new Point(var7, var8);
- ((Component)this).move(var7, var8);
- this.show();
- this.thread.start();
- } catch (InterruptedException var9) {
- ((Throwable)var9).printStackTrace();
- }
- }
-
- public void paint(Graphics var1) {
- try {
- if (this.image != null) {
- var1.drawImage(this.image, 0, 0, this);
- return;
- }
- } catch (Exception var3) {
- ((Throwable)var3).printStackTrace();
- }
-
- }
-
- public void show() {
- if (this.m_bIsIE3) {
- Dimension var1 = ((Component)this).size();
- ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
- super.show();
- ((Component)this).reshape(this.m_pntPosition.x, this.m_pntPosition.y, var1.width, var1.height);
- } else {
- super.show();
- }
- }
-
- public void run() {
- try {
- Thread.sleep((long)this.timeout);
- ((Window)this).dispose();
- } catch (Exception var2) {
- ((Throwable)var2).printStackTrace();
- }
- }
- }
-