/* * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved. * * Permission to use, copy, modify, and distribute this software * and its documentation for NON-COMMERCIAL purposes and without * fee is hereby granted provided that this copyright notice * appears in all copies. Please refer to the file "copyright.html" * for further important copyright and licensing information. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. */ import java.awt.Graphics; import java.util.Date; public class Clock extends java.applet.Applet implements Runnable { Thread clockThread = null; public void start() { if (clockThread == null) { clockThread = new Thread(this, "Clock"); clockThread.start(); } } public void run() { // loop terminates when clockThread is set to null in stop() while (Thread.currentThread() == clockThread) { repaint(); try { Thread.sleep(1000); } catch (InterruptedException e){ } } } public void paint(Graphics g) { Date now = new Date(); int minutes=now.getMinutes(); int seconds=now.getSeconds(); if (minutes<=9 && seconds<=9) g.drawString(now.getHours() + ":0" + minutes + ":0" + seconds, 5, 10); else if (seconds<=9) g.drawString(now.getHours() + ":" + minutes + ":0" + seconds, 5, 10); else if (minutes<=9) g.drawString(now.getHours() + ":0" + minutes + ":" + seconds, 5, 10); else g.drawString(now.getHours() + ":" + minutes + ":" + seconds, 5, 10); } public void stop() { clockThread = null; } }