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


Partners & Affiliates











advertisement

CountDown2


/*
	CountDown

	Written by Michael Kraus
	Version 1.0
	JDK 1.0

	<applet code="CountDown.class" width=80 height=40>
	<param name="date" value="1 Jan 2000">
	<param name="bgcolor" value="000000">
	<!--param name="background" value="background.gif"-->
	<param name="space" value="1">
	</applet>
*/

import java.applet.*;
import java.awt.*;
import java.util.*;

public class CountDown extends Applet
{
	private static String[][] parameterInfo=
	{
		{"date","String","target date, e.g. \"1 Jan 2000\""},
		{"bgcolor","int","background color"},
		{"background","file","background image"},
		{"space","int","space pixels between digits"}
	};

	private static final String[] digitImageFile=
	{
		"zero.gif",
		"one.gif",
		"two.gif",
		"three.gif",
		"four.gif",
		"five.gif",
		"six.gif",
		"seven.gif",
		"eight.gif",
		"nine.gif"
	};

	private Image backgroundImage;
	private Image[] digitImage;

	private String outputString;

	private int space;

	private int x;
	private int y;

	public void init()
	{
		String parameter;
		ImageProvider imageProvider=new ImageProvider(this);

		if((parameter=getParameter("date"))!=null)
			outputString=String.valueOf(Math.max(0,(new Date(parameter).getTime()-new Date().getTime())/(1000*60*60*24)+1));
		else
			outputString="666";

		if((parameter=getParameter("bgcolor"))!=null)
			setBackground(new Color(Integer.parseInt(parameter,16)));

		try
		{
			digitImage=imageProvider.get(digitImageFile);

			if((parameter=getParameter("background"))!=null)
				backgroundImage=imageProvider.get(parameter);
		}
		catch(Exception exception)
		{
			System.err.println(exception);
		}

		if((parameter=getParameter("space"))!=null)
			space=Integer.parseInt(parameter,10);
		else
			space=1;

		Dimension dimension=size();

		y=(dimension.height-26)/2;
		x=-space;

		for(int n=0;n<outputString.length();n++)
			x+=digitImage[outputString.charAt(n)-'0'].getWidth(null)+space;

		x=(dimension.width-x)/2;
	}

	public void paint(Graphics graphics)
	{
		int cursor=x;

		if(backgroundImage!=null)
			graphics.drawImage(backgroundImage,0,0,null);

		for(int n=0;n<outputString.length();n++)
		{
			graphics.drawImage(digitImage[outputString.charAt(n)-'0'],cursor,y,null);
			cursor+=digitImage[outputString.charAt(n)-'0'].getWidth(null)+space;
		}
	}

	public String getAppletInfo()
	{
		return "CountDown\n\nWritten by Michael Kraus\nVersion 1.0\nJDK 1.0";
	}

	public String[][] getParameterInfo()
	{
		return parameterInfo;
	}
}


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%.

Free VMware Server 2.0 Now Release Candidate
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

Build a Generic Histogram Generator for SQL Server
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

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