Aquí tienes la versión del JDK 1.1. del Clock utilizando el nuevo API:
import java.awt.Graphics;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.text.DateFormat;
public class Clock1_1 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() {
// El bucle termina cuando clockThread se pone a null en stop()
while (Thread.currentThread() == clockThread) {
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e){
}
}
}
public void paint(Graphics g) {
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
DateFormat dateFormatter = DateFormat.getTimeInstance(DateFormat.DEFAULT,
Locale.US);
g.drawString(dateFormatter.format(date), 5, 10);
}
public void stop() {
clockThread = null;
}
}
Y aquí lo tienes ejecutándose:
Puedes ver Escribir Programas Globales para una explicación del manejo de horas y fechas de una forma global.