Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar hora en varios form

Estas en el tema de Mostrar hora en varios form en el foro de Java en Foros del Web. Cordial saludo a todos. Agradezco la ayuda que me puedan dar soy novato, mi problema es el sgte: Tengo que mostrar en varios formularios de ...
  #1 (permalink)  
Antiguo 09/05/2012, 08:09
 
Fecha de Ingreso: abril-2009
Ubicación: Bogota
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Pregunta Mostrar hora en varios form

Cordial saludo a todos.
Agradezco la ayuda que me puedan dar soy novato, mi problema es el sgte:
Tengo que mostrar en varios formularios de una aplicación la hora en tiempo real, tengo una clase Reloj (que encontre en la red) para poder crear un objeto Reloj en cada formulario y me muestre la hora, lo que pasa es que al cargar el form a lo mucho me muestra la hora que tiene en ese momento y no la actualiza.
Alguien me puede decir como puedo hacer para que se me actualice la hora en el formulario que se abra.
Coloco la clase:
package Utilities;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
*
* @author Gust
*/
public class Reloj implements Runnable{
//variables a nivel de clase
String hora, minutos, segundos, ampm;
Calendar calendario; //Este objeto nos ayudará a realizar las operaciones necesarias con las horas.
Thread h1; //actualizara la hora en tiempo real.
String strHora;

public Reloj()
{
h1 = new Thread(this);
h1.start();
}

public void calcula() //Aca se realizan los cálculos de la hora
{
Calendar calendario = new GregorianCalendar();
Date fechaHoraActual = new Date();

calendario.setTime(fechaHoraActual);
ampm = calendario.get(Calendar.AM_PM) == Calendar.AM?"AM":"PM";

if(ampm.equals("PM"))
{
int h = calendario.get(Calendar.HOUR_OF_DAY)-12;
hora = h > 9?""+h:"0"+h;
}

else
{
hora = calendario.get(Calendar.HOUR_OF_DAY)>9?""+ calendario.get(Calendar.HOUR_OF_DAY):"0"+calendari o.get(Calendar.HOUR_OF_DAY);
}
minutos = calendario.get(Calendar.MINUTE)>9?""+calendario.ge t(Calendar.MINUTE):"0"+calendario.get(Calendar.MIN UTE);
segundos = calendario.get(Calendar.SECOND)>9?""+calendario.ge t(Calendar.SECOND):"0"+calendario.get(Calendar.SEC OND);
}


public void run() {

Thread ct = Thread.currentThread();
while(ct == h1)
{
calcula();
strHora = hora + ":" + minutos + ":" + segundos + " " + ampm;
try{
Thread.sleep(1000);
}catch(InterruptedException e)
{

}
}
}

public String getHora()
{
return strHora;
}
}

Alguien me puede decir que debo hacer el nuevo form o en esta clase para pasar esta hora y que se me actualice en tiempo real ?

De ante mano muchas gracias por su tiempo y conocimiento

Etiquetas: clase, formulario, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:40.