Threads de Control

El m�todo paint del applet Clock utiliza la clase Date para obtener la hora actual y formatearla. Este API no es amable para Internacionalziaci�n y ha caducado en favor de los m�todos de las nuevas clases Calendar y DateFormat.

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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO