advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Jumptext


/*
	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)
			{}
		}
	}
}


Back to the Jumptext applet page

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft RIA Development Center
 IBM Rational Resource Center
 Destination .NET
XML error: not well-formed (invalid token) at line 33
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Linux Player Xandros Grabs Storied Rival Linspire
Hey Enterprise: Here Comes the 3G iPhone
MySpace Opens Profile Portability API
Microsoft Jumps Into Virtualization Fray
Eclipse Ganymede Makes It Easier for Devs
Open Source Nokia a Threat to Microsoft, Google?
Salesforce, Google Head for 2nd on Apps
HP Open Sources Unix File System for Linux
Red Hat Opens Its Network to Space
Novell: openSUSE for All Linux Users

Beyond XML and JSON: YAML for Java Developers
Mastering the Windows Mobile Emulators
Avaya AE Services Provide Rapid Telephony Integration with Facebook
Featured Algorithm: Intel Threading Building Blocks: parallel_reduce
Getting Started with Windows Live Admin Center
Eight Key Practices for ASP.NET Deployment
Java ME User Interfaces: Do It with LWUIT!
Talking VPro: Transcript
Bringing Semantic Technology to the Enterprise
Persisting Data in Your Windows Mobile Device

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM eBook: Planning a Service Oriented Architecture
IBM eBook: Choosing the Right Architecture--What It Means for You and Your Business
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Avaya Article: Using Intelligent Presence to Create Smarter Business Applications
Intel Go Parallel Article: Getting Started with TBB on Windows
Microsoft Article: 7.0, Microsoft's Lucky Version?
Avaya Article: How to Feed Data into the Avaya Event Processor
IBM Article: Developing a Software Policy for Your Organization
Microsoft Article: Managing Virtual Machines with Microsoft System Center
Intel Go Parallel Article: Intel Threading Tools and OpenMP
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML
IBM Article: Enterprise Search--Do You Know What's Out There?
HP Demo: StorageWorks EVA4400
Microsoft Article: The Progress and Promise of Deep Zoom
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES