home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / MB-JAVA.EXE / CoolMove.class (.txt) next >
Encoding:
Java Class File  |  1996-11-20  |  1.9 KB  |  84 lines

  1. import java.applet.Applet;
  2. import java.awt.Container;
  3. import java.awt.Event;
  4. import java.awt.Image;
  5. import java.awt.LayoutManager;
  6. import java.awt.Panel;
  7.  
  8. public class CoolMove extends Applet implements Runnable {
  9.    ScrollCanvas scroller;
  10.    Thread animatorThread;
  11.    boolean frozen = false;
  12.    int moveAdd = -2;
  13.  
  14.    public void init() {
  15.       super.init();
  16.       ((Container)this).setLayout((LayoutManager)null);
  17.       ((Panel)this).addNotify();
  18.       Image var1 = ((Applet)this).getImage(((Applet)this).getCodeBase(), ((Applet)this).getParameter("SRC"));
  19.       String var2 = ((Applet)this).getParameter("MOVE");
  20.       if (var2 != null) {
  21.          try {
  22.             this.moveAdd = -Integer.parseInt(var2);
  23.          } catch (NumberFormatException var3) {
  24.          }
  25.       }
  26.  
  27.       this.scroller = new ScrollCanvas(var1);
  28.       ((Container)this).add(this.scroller);
  29.    }
  30.  
  31.    public String getAppletInfo() {
  32.       return "ScrollApplet by Marcus Schiesser";
  33.    }
  34.  
  35.    public void start() {
  36.       if (!this.frozen) {
  37.          if (this.animatorThread == null) {
  38.             this.animatorThread = new Thread(this);
  39.          }
  40.  
  41.          this.animatorThread.start();
  42.       }
  43.  
  44.    }
  45.  
  46.    public void stop() {
  47.       this.animatorThread = null;
  48.    }
  49.  
  50.    public boolean mouseDown(Event var1, int var2, int var3) {
  51.       if (this.frozen) {
  52.          this.frozen = false;
  53.          this.start();
  54.       } else {
  55.          this.frozen = true;
  56.          this.stop();
  57.       }
  58.  
  59.       return true;
  60.    }
  61.  
  62.    public boolean handleEvent(Event var1) {
  63.       return super.handleEvent(var1);
  64.    }
  65.  
  66.    public void run() {
  67.       Thread.currentThread().setPriority(1);
  68.       long var1 = System.currentTimeMillis();
  69.  
  70.       while(Thread.currentThread() == this.animatorThread) {
  71.          this.scroller.scrollImage(this.moveAdd);
  72.          this.scroller.repaint();
  73.  
  74.          try {
  75.             var1 += 50L;
  76.             Thread.sleep(Math.max(0L, var1 - System.currentTimeMillis()));
  77.          } catch (InterruptedException var3) {
  78.             return;
  79.          }
  80.       }
  81.  
  82.    }
  83. }
  84.