This little java applet ... will just show the local time ...
This is the HTML portion :
<p>
<center>
The current time :
<APPLET CODE=TimerClass.class WIDTH=90 HEIGHT=20>
<param name=MODE value="1">
<param name=background value="eeeeee">
<param name=foreground value="000000">
</APPLET>
</center>
</p>
This the TimerClass.java source
// © 2001-2003, Sergey Zaytsev, All Rights Reserved import java.applet.*; import java.awt.*; import java.util.*; // 1 day = 86,400 regular seconds = 100,000 digital seconds (deconds) // 864 regular milliseconds = 1000 digital milliseconds (millideconds) public class TimerClass extends Applet implements Runnable { Thread timer; int Mode = 1; // 1 - regular time, 2 - digital time int SleepMS; // sleep milliseconds int y; int x; public void init() { String strMode = getParameter("MODE"); if (strMode != null) Mode = Integer.parseInt(strMode); SleepMS = (Mode == 1) ? 1000 : 864; String strBackGround = getParameter("background"); if (strBackGround != null) this.setBackground(stringToColor(strBackGround)); String strForeGround = getParameter("foreground"); if (strForeGround != null) this.setForeground(stringToColor(strForeGround)); String strFontName = getParameter("FONTNAME"); if (strFontName == null) strFontName = this.getFont().getName(); int intFontSize = this.getFont().getSize(); String strFontSize = getParameter("FONTSIZE"); if (strFontSize != null) intFontSize = Integer.parseInt(strFontSize); int intFontStyle = this.getFont().getStyle(); String strFontStyle = getParameter("FONTSTYLE"); if (strFontStyle != null) intFontStyle = Integer.parseInt(strFontStyle); // Set font this.setFont(new Font(strFontName, intFontStyle, intFontSize)); y = this.size().height / 2 + intFontSize / 2; FontMetrics fm = getFontMetrics(this.getFont()); x = this.size().width / 2 - fm.stringWidth((Mode == 1) ? "00:00:00 AM" : "00:00:00") / 2; } public void paint(Graphics screen) { Calendar now = Calendar.getInstance(); int intHour = now.get(Calendar.HOUR); int intHourOfDay = now.get(Calendar.HOUR_OF_DAY); int intAM_PM = now.get(Calendar.AM_PM); int intMinute = now.get(Calendar.MINUTE); int intSecond = now.get(Calendar.SECOND); String strShow; if (Mode == 1) strShow = FormatTime(intHour, intMinute, intSecond, intAM_PM); else { int intMilliSecond = now.get(Calendar.MILLISECOND); int intMilliSecondOfDay = ((intHourOfDay * 60 + intMinute) * 60 + intSecond) * 1000 + intMilliSecond; int intDecondOfDay = intMilliSecondOfDay / 864; int intDour = intDecondOfDay / 10000; int intDinute = (intDecondOfDay - (intDour * 10000)) / 100; int intDecond = intDecondOfDay % 100; strShow = FormatDime(intDour, intDinute, intDecond); } screen.drawString(strShow, x, y); } public void start() { if (timer == null) { timer = new Thread(this); timer.start(); } } public void run() { while (true) { repaint(); try { Thread.sleep(SleepMS); } catch (InterruptedException e) { } } } public void stop() { if (timer != null) { timer.stop(); timer = null; } } public String FormatTime(int intHour, int intMinute, int intSecond, int intAM_PM) { if ((intHour == 0) && (intAM_PM == 1) /* PM */) intHour = 12; String strTime = ""; if (intHour < 10) strTime = "0"; strTime += intHour + ":"; if (intMinute < 10) strTime += "0"; strTime += intMinute + ":"; if (intSecond < 10) strTime += "0"; strTime += intSecond + " " + ((intAM_PM == 0) ? "AM" : "PM"); return strTime; } public String FormatDime(int intDour, int intDinute, int intDecond) { String strDime = "0" + intDour + "."; if (intDinute < 10) strDime += "0"; strDime += intDinute + "."; if (intDecond < 10) strDime += "0"; strDime += intDecond; return strDime; } // Converts a string formatted as "rrggbb" to an awt.Color object private Color stringToColor(String paramValue) { return new Color(Integer.decode("0x" + paramValue).intValue()); } // External interface used by design tools to show properties of an applet. public String[][] getParameterInfo() { String[][] info = { { "background", "String", "Background color, format \"rrggbb\"" }, { "foreground", "String", "Foreground color, format \"rrggbb\"" }, { "fontname", "String", "Font Name" }, { "fontsize", "int", "Font Size" }, { "fontstyle", "int", "Font Style" }, { "mode", "int", "1 - Regular Time; 2 - Decimal Time" } }; return info; } } // eof
Simple huh? Of course, this 'java' source must be compiled (javac), to build the 'class' BYTECODE, to be uploaded to the web site ...