Horas en Java (Reloj Digital)

Hola!! Les traigo un nuevo tutorial. Muchos de los progamadores en Java, alguna vez hemos querido mostrarle la hora en tiempo real en la aplicación al usuario. Pues ya encontré una manera de hacerlo y acá les voy a mostrar como hacerlo. Primero crearemos un proyecto en NetBeans de tipo Biblioteca de Clases Java (Java Class Library) la cual manejará la hora y posterior a eso crearemos otro proyecto de tipo Aplicación Java (Java Application) para implementar la librería creada. No hay más que decir, así que empecemos…

Biblioteca de Clases:

Doy por hecho que ya saben como crear una Biblioteca de Clases (si no es así solo dejen un comentario y les indico como hacerlo). Sólo una pequeña nota antes de ir al código: cuando esten creando la biblioteca de clases  marquen el check que dice “usar carpeta dedicada para almacenar bibliotecas” o en inglés “use dedicated folder for storing libraries”. Hecho esto crearan un nuevo paquete (yo lo nombré “Reloj“) y dentro de éste crearan una nueva clase (yo la nombré “Hora“). En la clase incluiremos el siguiente código:

Una vez que ya tenemos el código procedemos a guardarlo y compilarlo para generar el archivo jar. Bien ya tenemos nuestra biblioteca de clases lista, ya la podemos implemetar en cualquier aplicación.

Aplicación:

Bien ahora creamos un proyecto tipo Aplicación Java para implementar la biblioteca hecha. Para esto, debemos agregar la biblioteca que creamos anteriormente a la aplicación, buscando el .jar de la biblioteca (si no saben como hacerlo dejen un comentario y les indico como hacerlo).

Bien, creamos un formulario en nuestro proyecto. En este caso yo creé un formulario muy sencillo, sólo para efectos de demostración y lo nombré “frmHora“.

Ahora veamos el código. Les comento que el evento en el que mostraremos la hora será el WindowOpened

Pues ya está lista la aplicación. Ahora sólo falta llamar al formulario desde el Main de dicha aplicación…

Lo único que hace falta es ejecutar nuestra aplicación. Acá les dejo un pequeño video del funcionamiento de la aplicación…

Bien, les comento que para este tutorial utilice NetBeans 6.9.1 y el JDK 6 update 22. Otro elemento importante a mencionar, es que la hora es obtenida del sistema, por lo que si la hora del sistema no es correcta pues la hora en nuestra aplicación tampoco lo será.

Eso es todo, ahora ya pueden mostrar la hora en tiempo real al usuario en sus aplicaciones. Si algo no les quedó claro o tienen algún tipo de problema sólo dejen un comentario y pues veré en que les ayudo… Gracias!! Espero sus comentarios…

Pueden descargar el ejemplo completo AQUI…

38 pensamientos en “Horas en Java (Reloj Digital)

  1. Pingback: Articulo Indexado en la Blogosfera de Sysmaya

  2. Abu creo que yo soy un burro en esto! abu!!!je.. perdon mi tonta pregunta varon esq soy nuevo en esto de la programacion recien salido del cole recien ingresado a la universidad.. necesito tu ayuda!
    en lo que es lo mas facil de net beans toy bien.. y mi profesor a vito que soy weno weno no tanto como ustedes en esto.. la cosa es q me dijo q busq nuevos archivos.. ia lo hice y encontre esta super pagina y encontre tu zuper proyecto. y pz keria saber si puedes ayudarme…. xq como ya lo dige soy algo nuevo en esto… atte. Richard saludos deste Peru gracias de antemano…

    • Hola amigo! Te diré varias cosas… La primera de ellas es que no hay razón por la cual te digas a tí mismo “burro”, ya que como seres humanos, todos tenemos las mismas capacidades. Lo segundo es que te agradezco los comentarios que haces en referencia a mi blog, de verdad muchas gracias. Y por último, si está a mi alcance ayudarte con mucho gusto lo haré. Solo aclárame cual es la ayuda que necesitas… Saludos desde Costa Rica! Pura Vida!!

      • jeje… weno esq en Peru nos decimos asi jeje … weno mira ya ta lod e biblioteca de clases y too esho.. ahora lo q me pregunto es como hacer la segunda parte la de la aplicacion en Java. esa parte es un poco mas facil creo yo pero me salta error en la parte de private Reloj.Hora…. en esa parte me salta un error

      • Mmmm… Algo extraño… En teoría, “Reloj” es el nombre de nuestro paquete y “Hora” es el nombre de nuestra clase que se encuentra dentro del paquete “Reloj”, todo esto en nuestra librería. Si le has puesto los mismos nombres al paquete y a la clase no debería haber ningún problema… Ahora bien, te pregunto.. Ya has agregado la librería a la aplicación??

      • Lo siento, no he entendido muy bien tu pregunta… Talvez te puedes explicar mejor para poder comprender bien..

    • Talvez me puedes dejar un comentario con el error que emite la aplicacion justo cuando salta el error (letras rojas en el panel inferior de NetBeans…) para darte una respuesta más clara y concreta, por que por ahora no se me ocurre cual puede ser el error….

  3. Gratitud total contigo y tu post, me sirvió bastante, lo estaba buscando hace rato ya que no tenia muy claro que tenia que hacer, Gracias!!!

  4. Hola!! Excelente post me sirvió bastante!!
    Una pregunta, bueno yo hice un reloj analógico con las agujas y todo eso, y quisiera agregarle el digital como este para que aparezcan en la misma pantalla, estos métodos y clases se podrían implementar para que funcionen ambos y que marquen la misma hora??
    Gracias y de nuevo excelente post!!

    • En teoría si. Si para mostrar la hora en ambos relojes obtienes la hora del sistema, como es el caso de este tuto, pues ambos relojes mostraran la misma hora…
      Pura Vida!! Saludos!

    • Bien amigo, gracias por tu comentario! En este tutorial se realizan dos proyectos. En el primero de ellos, que es de tipo “Librería de Clases” o “Java Class Library” es donde vamos a realizar la clase que se encarga de manejar la hora. Una vez que la clase está lista “limpiamoa y construimos” el proyecto. Esto lo puedes hacer presionando click derecho sobre el proyecto y “limpiar y construir” o “clean and built” o bien presionando en la barra de herramientas el boton del icono del martillo y la escoba. Al hacer esto automaticamente se genera en el proyecto una carpeta llamada “dist” y dentro de ella el archivo “.jar” que posteriormente lo incluiremos en la aplicacion…

  5. Hola amigo!!! espero que te encuentres de lo mejor. Disculpa, hace como una semana te dejé un comentario en el que te pedía ayuda para poner la hora digital en mis programas, pero ahora estoy buscando mi comentario y una posible respuesta tuya y no encuentro ni siquiera mi comentario, y no sé si te llego, sólo para corroborar, mi pregunta es si es lo mismo un “Java application” a un “Java class library” (que usaste para hacer el reloj) para que pueda poner la hora, o si es necesario usar la última, porque estoy haciendo un trabajo para la escuela y ya estoy por terminarlo. De no se así, ¿Puedo poner lo que he realizado en un “Java application” como suelo hacerlo en un”Java class library”? para que mi trabajo cuente con un reloj que se actualiza como el que se muestra en tu ejemplo (el cual es necesario para el profesor), pero de preferencia en una etiqueta para que la pueda manipular como estoy acostumbrado, pues a mí me han enseñado a crear un “Java application”, crear un jframe desde “source package” y arrastrar los elementos (text field, botones, etiquetas, etcetera) desde la paleta y programar entonces los elementos. Espero que me puedas ayudar, gracias por tus aportes, todos son muy buenos, saludos!!!

    • Hola amigo! Si he recibido tu comentario, hace dias lo aprobe y hasta te he respondido. Lo que sucede es que el comentario no lo has dejado acá en esta pagina, sino que lo dejaste en “Acerca de.. >> Autor”. Busca ahi tu comentario y respuesta. Ah por cierto, quiero agregar a mi respuesta que la clase que maneja la hora extiende de JLabel, con lo cual adquiere todas las propiedades de un JLabel. Busca tu comentario acá…

  6. Que tal!!! Yo aquí de nuevo. Ya chequé el proyecto de la fecha y hora, lo entendí, lo volví a hacer y lo apliqué en mi trabajo, incluso jugué con los formatos para que me mostrara “29/ago/2011”, todo está muy bien, sólo que tengo un problemita minúsculo: para mi trabajo he colocado imágenes de fondo con etiquetas como suelo hacerlo, pero al correr el programa las etiquetas tapan la hora y la fecha, ya le busqué por todas partes y no le encuentro ni como ni por donde moverle para que esto no suceda, ¿hay alguna forma de ponerlo encima, o alguna otra forma de poner mis imágenes sin que interfieran con la hora y la fecha? Agradezco y valoro mucho tus aportes y atenciones, saludos!!!

    • Ah si entiendo. Creo q no hay manera de que la hora salga por encima de la imagen. Deberias colocar la hora en un lugar en donde no sea tapada por la imagen… Creo que es la unica solucion.

  7. Hola! de nuevo! bueno mi inquietud es la siguiente : quiero poner ese reloj en un textfield o en jlabel, ya que al darle enter, este reloj se paralize, bueno esto ya lo he hecho, pero mi problema es q no quiero ponerlo en la ventana asi como tu lo has hecho ,sino , en un jtextfield, ayudame porfis🙂 te lo agradecere! (:

  8. hola amigo como estas oye tengo una duda ya ise funcionar tu prog y la neta esta chido pero como puedo hacerle para meter la hora en un jlabel porq lo muestra en el jframe pero arriva de el frame tengo un panel y dentro de hay tengo un jlabel y lo ocupo mostrar hay espero me puedas ayudar

  9. No es necesario utilizar las clases javax.swing.Timer y java.util.GregorianCalendar ? es que tengo que hacer el reloj digital y dijo el profesor que se ocupaban esas clases :S!

    • Como puedes ver en este ejemplo no es necesario usar dichas clases, sin embargo no quiere decir que no se pueda hacer con esas mismas clases que mencionas.. Si no es obligatorio usar esas clases, puedes presentar este ejemplo que está hecho solo con un hilo, la clase java.util.Date y otras clases más para darle formato al reloj de HH:mm:ss … Y funciona bien. Saludos! Pura Vida!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s