Clase Reloj

{code}

import java.util.Calendar;
import javax.swing.JTextField;

public class Reloj implements Runnable {
private JTextField campoTexto;
private Thread hilo;

/**
* Muestra un reloj que se actualiza automáticamente en un campo de
* texto que se indique por parámetro en el método constructor.
*
* @param campoTexto Donde se mostrará el reloj
*/
public Reloj(JTextField campoTexto) {
this.campoTexto = campoTexto;
hilo = new Thread(this);
hilo.start();
}

public void run() {
Calendar hora;
String textoReloj;
while(true) {
hora = Calendar.getInstance();
textoReloj = "" + hora.get(Calendar.HOUR_OF_DAY) + ":" +
hora.get(Calendar.MINUTE) + ":" +
hora.get(Calendar.SECOND);
campoTexto.setText(textoReloj);
try {
Thread.sleep(1000);
} catch(Exception e) {
}
}
}
}

{/code}