home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-06-06 | 3.6 KB | 145 lines |
- /*
-
-
- Jump text
-
-
- */
-
-
-
-
-
- import java.awt.*;
-
-
- import java.util.*;
-
-
- import java.lang.*;
-
-
-
-
-
- /*
-
-
- */
-
-
- public class Jumptext extends java.applet.Applet implements Runnable {
-
-
- Thread blinker;
-
-
- String message1, message2;
-
-
- Font font1, font2;
-
-
- int speed,
-
-
- lastX1, lastY1, directX1, directY1,
-
-
- lastX2, lastY2, directX2, directY2;
-
-
-
-
-
- public void init() {
-
-
- String att;
-
-
- Dimension d = size();
-
-
-
-
-
- att = getParameter("speed");
-
-
- speed = (att == null) ? 50 : Integer.valueOf(att).intValue();
-
-
-
-
-
- font1 = new java.awt.Font("TimesRoman", Font.ITALIC, 24);
-
-
- att = getParameter("message1");
-
-
- message1 = (att == null) ? "CATNET Internet Service" : att;
-
-
- lastX1 = (int)(Math.random() * (d.width - 1));
-
-
- lastY1 = (int)((d.height - font1.getSize() - 1) * Math.random());
-
-
- directX1 = 3;
-
-
- directY1 = 3;
-
-
-
-
-
- font2 = new java.awt.Font("TimesRoman", Font.PLAIN, 20);
-
-
- att = getParameter("message2");
-
-
- message2 = (att == null) ? "System Intelligent" : att;
-
-
- lastX2 = (int)(Math.random() * (d.width - 1));
-
-
- lastY2 = (int)((d.height - font2.getSize() - 1) * Math.random());
-
-
- directX2 = -3;
-
-
- directY2 = -3;
-
-
- }
-
-
-
-
-
- public void start() {
-
-
- /* Set background color */
-
-
- this.setBackground(Color.black);
-
-
-
-
-
- /* Start thread */
-
-
- if (blinker == null) {
-
-
- blinker = new Thread(this, "Blink");
-
-
- blinker.start();
-
-
- }
-
-
- }
-
-
- public void paint(Graphics g) {
-
-
- int x,
-
-
- y,
-
-
- space;
-
-
- Dimension d = size();
-
-
- StringTokenizer t;
-
-
- FontMetrics fm;
-
-
-
-
-
- g.setColor(Color.black);
-
-
- g.setFont(font1);
-
-
- fm = g.getFontMetrics();
-
-
- space = fm.stringWidth(" ");
-
-
- x = lastX1;
-
-
- y = lastY1;
-
-
- for (t = new StringTokenizer(message1) ; t.hasMoreTokens() ; ) {
-
-
- String word = t.nextToken();
-
-
- int w = fm.stringWidth(word) + space;
-
-
- if (x > d.width) {
-
-
- x = x - d.width;
-
-
- }
-
-
- g.setColor(new java.awt.Color((int)(Math.random() * 256),
-
-
- (int)(Math.random() * 256), (int)(Math.random() * 256)));
-
-
- g.drawString(word, x, y);
-
-
- x += w;
-
-
- }
-
-
-
-
-
- if (Math.random() > 0.99) {
-
-
- directX1 = -directX1;
-
-
- }
-
-
- lastX1 += directX1;
-
-
- if (lastX1 >= d.width) {
-
-
- lastX1 = 0;
-
-
- } else if (lastX1 < 0) {
-
-
- lastX1 = d.width - 1;
-
-
- }
-
-
- lastY1 += directY1;
-
-
- if (lastY1 >= d.height) {
-
-
- directY1 = -3;
-
-
- } else if (lastY1 < font1.getSize()) {
-
-
- directY1 = 3;
-
-
- }
-
-
-
-
-
- g.setColor(Color.black);
-
-
- g.setFont(font2);
-
-
- fm = g.getFontMetrics();
-
-
- space = fm.stringWidth(" ");
-
-
- x = lastX2;
-
-
- y = lastY2;
-
-
- for (t = new StringTokenizer(message2) ; t.hasMoreTokens() ; ) {
-
-
- String word = t.nextToken();
-
-
- int w = fm.stringWidth(word) + space;
-
-
- if (x > d.width) {
-
-
- x = x - d.width;
-
-
- }
-
-
- g.setColor(new java.awt.Color((int)(Math.random() * 256),
-
-
- (int)(Math.random() * 256), (int)(Math.random() * 256)));
-
-
- g.drawString(word, x, y);
-
-
- x += w;
-
-
- }
-
-
-
-
-
- if (Math.random() > 0.99) {
-
-
- directX2 = -directX2;
-
-
- }
-
-
- lastX2 += directX2;
-
-
- if (lastX2 >= d.width) {
-
-
- lastX2 = 0;
-
-
- } else if (lastX2 < 0) {
-
-
- lastX2 = d.width - 1;
-
-
- }
-
-
- lastY2 += directY2;
-
-
- if (lastY2 >= d.height) {
-
-
- directY2 = -3;
-
-
- } else if (lastY2 < font1.getSize()) {
-
-
- directY2 = 3;
-
-
- }
-
-
- }
-
-
-
-
-
- public void stop() {
-
-
- blinker = null;
-
-
- blinker.stop();
-
-
- }
-
-
-
-
-
- public void run() {
-
-
- while (blinker != null) {
-
-
- repaint();
-
-
- try {
-
-
- blinker.sleep(speed);
-
-
- } catch (InterruptedException e)
-
-
- {}
-
-
- }
-
-
- }
-
-
- }
-
-
-