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.