home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / Blink.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-09-18  |  2.3 KB  |  77 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.util.StringTokenizer;
  9.  
  10. public class Blink extends Applet implements Runnable {
  11.    Thread blinker;
  12.    String lbl;
  13.    Font font;
  14.    int speed;
  15.  
  16.    public void init() {
  17.       this.font = new Font("TimesRoman", 0, 24);
  18.       String var1 = ((Applet)this).getParameter("speed");
  19.       this.speed = var1 == null ? 400 : 1000 / Integer.valueOf(var1);
  20.       var1 = ((Applet)this).getParameter("lbl");
  21.       this.lbl = var1 == null ? "Blink" : var1;
  22.    }
  23.  
  24.    public void paint(Graphics var1) {
  25.       int var2 = 0;
  26.       int var3 = this.font.getSize();
  27.       int var5 = (int)(Math.random() * (double)50.0F);
  28.       int var6 = (int)(Math.random() * (double)50.0F);
  29.       int var7 = (int)(Math.random() * (double)256.0F);
  30.       Dimension var8 = ((Component)this).size();
  31.       var1.setColor(Color.black);
  32.       var1.setFont(this.font);
  33.       FontMetrics var9 = var1.getFontMetrics();
  34.       int var4 = var9.stringWidth(" ");
  35.  
  36.       int var12;
  37.       for(StringTokenizer var10 = new StringTokenizer(this.lbl); var10.hasMoreTokens(); var2 += var12) {
  38.          String var11 = var10.nextToken();
  39.          var12 = var9.stringWidth(var11) + var4;
  40.          if (var2 + var12 > var8.width) {
  41.             var2 = 0;
  42.             var3 += this.font.getSize();
  43.          }
  44.  
  45.          if (Math.random() < (double)0.5F) {
  46.             var1.setColor(new Color((var5 + var3 * 30) % 256, (var6 + var2 / 3) % 256, var7));
  47.          } else {
  48.             var1.setColor(((Component)this).getBackground());
  49.          }
  50.  
  51.          var1.drawString(var11, var2, var3);
  52.       }
  53.  
  54.    }
  55.  
  56.    public void start() {
  57.       this.blinker = new Thread(this);
  58.       this.blinker.start();
  59.    }
  60.  
  61.    public void stop() {
  62.       this.blinker.stop();
  63.    }
  64.  
  65.    public void run() {
  66.       while(true) {
  67.          try {
  68.             Thread.currentThread();
  69.             Thread.sleep((long)this.speed);
  70.          } catch (InterruptedException var1) {
  71.          }
  72.  
  73.          ((Component)this).repaint();
  74.       }
  75.    }
  76. }
  77.