home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.util.StringTokenizer;
-
- public class Blink extends Applet implements Runnable {
- Thread blinker;
- String lbl;
- Font font;
- int speed;
-
- public void init() {
- this.font = new Font("TimesRoman", 0, 24);
- String var1 = ((Applet)this).getParameter("speed");
- this.speed = var1 == null ? 400 : 1000 / Integer.valueOf(var1);
- var1 = ((Applet)this).getParameter("lbl");
- this.lbl = var1 == null ? "Blink" : var1;
- }
-
- public void paint(Graphics var1) {
- int var2 = 0;
- int var3 = this.font.getSize();
- int var5 = (int)(Math.random() * (double)50.0F);
- int var6 = (int)(Math.random() * (double)50.0F);
- int var7 = (int)(Math.random() * (double)256.0F);
- Dimension var8 = ((Component)this).size();
- var1.setColor(Color.black);
- var1.setFont(this.font);
- FontMetrics var9 = var1.getFontMetrics();
- int var4 = var9.stringWidth(" ");
-
- int var12;
- for(StringTokenizer var10 = new StringTokenizer(this.lbl); var10.hasMoreTokens(); var2 += var12) {
- String var11 = var10.nextToken();
- var12 = var9.stringWidth(var11) + var4;
- if (var2 + var12 > var8.width) {
- var2 = 0;
- var3 += this.font.getSize();
- }
-
- if (Math.random() < (double)0.5F) {
- var1.setColor(new Color((var5 + var3 * 30) % 256, (var6 + var2 / 3) % 256, var7));
- } else {
- var1.setColor(((Component)this).getBackground());
- }
-
- var1.drawString(var11, var2, var3);
- }
-
- }
-
- public void start() {
- this.blinker = new Thread(this);
- this.blinker.start();
- }
-
- public void stop() {
- this.blinker.stop();
- }
-
- public void run() {
- while(true) {
- try {
- Thread.currentThread();
- Thread.sleep((long)this.speed);
- } catch (InterruptedException var1) {
- }
-
- ((Component)this).repaint();
- }
- }
- }
-