home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 Secrets / Secrets1.iso / Internet / HTMLU / JavaPerk / _SETUP.1 / ColorSwirl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-17  |  2.9 KB  |  198 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Font;
  5. import java.awt.Graphics;
  6.  
  7. public class ColorSwirl extends Applet implements Runnable {
  8.    // $FF: renamed from: f java.awt.Font
  9.    Font field_0;
  10.    Color[] colors = new Color[50];
  11.    Thread runThread;
  12.    String lineOut;
  13.    int xLoc;
  14.    int yLoc;
  15.  
  16.    public void start() {
  17.       if (this.runThread == null) {
  18.          this.runThread = new Thread(this);
  19.          this.runThread.start();
  20.       }
  21.  
  22.    }
  23.  
  24.    public void stop() {
  25.       if (this.runThread != null) {
  26.          this.runThread.stop();
  27.          this.runThread = null;
  28.       }
  29.  
  30.    }
  31.  
  32.    private String StripArgByComma(String var1, int var2) {
  33.       byte var9 = 44;
  34.       char var8 = ' ';
  35.       int var5 = 0;
  36.       int var4 = 0;
  37.       int var3 = var1.length();
  38.  
  39.       int var6;
  40.       for(var6 = 0; var6 < var3; ++var6) {
  41.          var8 = var1.charAt(var6);
  42.          if (var8 == var9) {
  43.             ++var4;
  44.             if (var4 == var2) {
  45.                break;
  46.             }
  47.  
  48.             if (var4 == var2 - 1) {
  49.                var5 = var6 + 1;
  50.             }
  51.          }
  52.       }
  53.  
  54.       String var7 = "";
  55.       if (var8 != var9) {
  56.          ++var4;
  57.       }
  58.  
  59.       if (var4 == var2 && var5 < var6) {
  60.          var7 = var1.substring(var5, var6);
  61.       }
  62.  
  63.       return var7;
  64.    }
  65.  
  66.    private int validateColor(String var1) {
  67.       int var2 = 255;
  68.       if (var1 != null) {
  69.          try {
  70.             var2 = Integer.parseInt(var1);
  71.          } catch (NumberFormatException var3) {
  72.          }
  73.       }
  74.  
  75.       if (var2 > 255) {
  76.          var2 = 255;
  77.       }
  78.  
  79.       if (var2 < 0) {
  80.          var2 = 0;
  81.       }
  82.  
  83.       return var2;
  84.    }
  85.  
  86.    private Color stringToColor(String var1) {
  87.       Color var2;
  88.       if (var1 == null) {
  89.          var2 = Color.white;
  90.       } else {
  91.          String var6 = this.StripArgByComma(var1, 1);
  92.          int var3 = this.validateColor(var6);
  93.          var6 = this.StripArgByComma(var1, 2);
  94.          int var4 = this.validateColor(var6);
  95.          var6 = this.StripArgByComma(var1, 3);
  96.          int var5 = this.validateColor(var6);
  97.          var2 = new Color(var3, var4, var5);
  98.       }
  99.  
  100.       return var2;
  101.    }
  102.  
  103.    public void init() {
  104.       String var1 = ((Applet)this).getParameter("bgcolor");
  105.       ((Component)this).setBackground(this.stringToColor(var1));
  106.       this.lineOut = ((Applet)this).getParameter("text");
  107.       if (this.lineOut == null) {
  108.          this.lineOut = "No Text Specified";
  109.       }
  110.  
  111.       String var2 = ((Applet)this).getParameter("font");
  112.       if (var2 == null) {
  113.          var2 = "";
  114.       }
  115.  
  116.       var1 = ((Applet)this).getParameter("size");
  117.       int var3 = 12;
  118.       if (var1 != null) {
  119.          try {
  120.             var3 = Integer.parseInt(var1);
  121.          } catch (NumberFormatException var6) {
  122.          }
  123.       }
  124.  
  125.       if (var3 < 6) {
  126.          var3 = 6;
  127.       }
  128.  
  129.       if (var3 > 72) {
  130.          var3 = 72;
  131.       }
  132.  
  133.       this.field_0 = new Font(var2, 1, var3);
  134.       var1 = ((Applet)this).getParameter("xloc");
  135.       this.xLoc = 0;
  136.       if (var1 != null) {
  137.          try {
  138.             this.xLoc = Integer.parseInt(var1);
  139.          } catch (NumberFormatException var5) {
  140.          }
  141.       }
  142.  
  143.       if (this.xLoc < 0) {
  144.          this.xLoc = 0;
  145.       }
  146.  
  147.       var1 = ((Applet)this).getParameter("yloc");
  148.       this.yLoc = 0;
  149.       if (var1 != null) {
  150.          try {
  151.             this.yLoc = Integer.parseInt(var1);
  152.          } catch (NumberFormatException var4) {
  153.          }
  154.       }
  155.  
  156.       if (this.yLoc < 0) {
  157.          this.yLoc = 0;
  158.       }
  159.  
  160.    }
  161.  
  162.    public void run() {
  163.       float var1 = 0.0F;
  164.  
  165.       for(int var2 = 0; var2 < this.colors.length; ++var2) {
  166.          this.colors[var2] = Color.getHSBColor(var1, 1.0F, 1.0F);
  167.          var1 = (float)((double)var1 + 0.02);
  168.       }
  169.  
  170.       int var3 = 0;
  171.  
  172.       while(true) {
  173.          ((Component)this).setForeground(this.colors[var3]);
  174.          ((Component)this).repaint();
  175.          ++var3;
  176.  
  177.          try {
  178.             Thread.currentThread();
  179.             Thread.sleep(50L);
  180.          } catch (InterruptedException var4) {
  181.          }
  182.  
  183.          if (var3 == this.colors.length - 1) {
  184.             var3 = 0;
  185.          }
  186.       }
  187.    }
  188.  
  189.    public void update(Graphics var1) {
  190.       this.paint(var1);
  191.    }
  192.  
  193.    public void paint(Graphics var1) {
  194.       var1.setFont(this.field_0);
  195.       var1.drawString(this.lineOut, this.xLoc, this.yLoc);
  196.    }
  197. }
  198.