▷ JAVA-Tips: ¿Cómo emplear campos de fecha en tus formularios?
Al momento de diligenciar toda la información pertinente a un determinado formulario de nuestro software, por parte del o los usuarios del mismo, un paso que cobra muchísima importancia es el manejo y/o asignación de fechas (fecha de nacimiento, fecha de registro, etc...), por lo cual se hace necesario el uso de un componente que facilite el manejo de este tipo de datos.
Para lograr el resultado deseado, deberemos hacer uso de la librería JCalendar, la cual nos brindará varias opciones a la hora de necesitar la utilización de fechas en nuestros proyectos Java.
Para lograr el resultado deseado, deberemos hacer uso de la librería JCalendar, la cual nos brindará varias opciones a la hora de necesitar la utilización de fechas en nuestros proyectos Java.
Al igual que en otros capítulos de JAVA-Tips, realizaremos los siguientes pasos, utilizando NetBeans IDE (si aún no lo tienes puedes dirigirte a nuestra Zona de descargas, y dar clic en el icono "NetBeans IDE"):
TUTORIAL EN VIDEO
¡Suscríbete Ahora!
🔻
TUTORIAL EN IMÁGENES
1-Procederemos a descargar el archivo JCalendar-1.4.jar.zip y seguidamente lo descomprimimos.
Un consejo muy práctico que te quiero dar, es que te puedas crear en tu disco local "D", una carpeta a la cual si lo deseas llamarás "Librerias JAVA" (o el nombre que tu decidas); luego, copiarás el archivo "jcalendar-1.4.jar" (que descomprimimos anteriormente) y lo pegarás en la carpeta que creaste, tal cual como te lo recomendé.
2-Nos dirigiremos a nuestra Interfaz de Desarrollo Integrado "NetBeans", y abriremos en vista de diseño, el formulario de nuestro proyecto donde queremos agregar un campo para la fecha:
3-Ubicaremos el puntero del mouse, sobre el nombre de alguna de las categorías de la "Paleta de componentes" que por lo general se encuentra en la parte derecha de nuestra pantalla. En este caso, nos situaremos sobre el nombre de la categoría "Swing Containers" (Contenedores Swing) y daremos clic derecho sobre la misma; luego, podremos observar un menú contextual, en el cual escogeremos la opción "Administrador de paleta...":
4-Se nos abrirá la ventana "Administrador de Paleta", allí daremos clic sobre el botón "Nueva categoría...":
5-Proseguiremos a asignarle un nombre a nuestra categoría, en este caso la llamaremos "Campos de fecha", y daremos clic en el botón "Aceptar":
7-Ahora, localizaremos y seleccionaremos el archivo jcalendar-1.4.jar el cual descargamos anteriormente (paso 1) y que me imagino que lo habrás guardado en la carpeta "Librerias JAVA" ;)
8-En la siguiente ventana, verificaremos que esté seleccionada la opción "Show Marked JavaBeans"; luego seleccionaremos toda la lista de componentes que se nos muestran en pantalla y damos clic en el botón "Siguiente":
10-Nos quedará el administrador de paleta abierto, por lo cual procederemos a dar clic en el botón "Cerrar".
Si nos fijamos bien en la "Paleta de componentes", podremos observar que en la categoría que acabamos de crear, contamos con nuevos elementos que nos permitirán trabajar con datos de fecha en nuestros formularios, entre ellos encontramos:
JCalendar: Este nos permitirá contar con un elemento en forma de calendario y usarlo en nuestro proyecto JAVA. Este componente ocupa un mayor espacio en los formularios debido a su tamaño.
9-El paso que viene a continuación, consiste en seleccionar la categoría que creamos previamente (pasos 4 y 5); es decir, "Campos de fecha", y luego dar clic en el botón "Terminar":
10-Nos quedará el administrador de paleta abierto, por lo cual procederemos a dar clic en el botón "Cerrar".
Si nos fijamos bien en la "Paleta de componentes", podremos observar que en la categoría que acabamos de crear, contamos con nuevos elementos que nos permitirán trabajar con datos de fecha en nuestros formularios, entre ellos encontramos:
JCalendar: Este nos permitirá contar con un elemento en forma de calendario y usarlo en nuestro proyecto JAVA. Este componente ocupa un mayor espacio en los formularios debido a su tamaño.
JDateChooser: Sin duda alguna, este es el componente más utilizado, ya que consiste en un pequeño campo, desde el cual podemos desplegar un calendario y así seleccionar una determinada fecha, la cual quedará consignada y/o establecida en el mismo elemento.
JDayChooser, JMonthChooser y JYearChooser: Nos permitirán consultar y seleccionar el día, el mes y el año respectivamente. Hay que tener en cuenta que estos son elementos independientes, y una vez ejecutemos nuestro proyecto, en cada uno de ellos se reflejará su información actualizada de forma automática; es decir, si agregamos un JMonthChooser a nuestro formulario, se nos mostrará por defecto el mes actual.
Otros componentes que encontraremos serán: El JLocaleChooser, que es una especie de Combo Box para escoger una configuración regional o idioma; y el JSpinField, que hace las veces de un campo numérico al cual se le puede establecer los valores límites que puede alcanzar; es decir, un valor máximo (usando su método ".setMaximum();") y uno mínimo (usando su método ".setMinimum();").
11-Para emplear y/o hacer uso de estos nuevos elementos, sólo bastará con seleccionar y arrastrar hacia nuestro formulario, el que deseamos implementar, en esta ocasión será un JDateChooser:
12-Al ejecutar nuestro proyecto podremos ver este nuevo elemento en acción, permitiéndonos brindarle una opción más a los usuarios del programa que estamos desarrollando, para que el diligenciamiento de los formularios sea aún más completo:
11-Para emplear y/o hacer uso de estos nuevos elementos, sólo bastará con seleccionar y arrastrar hacia nuestro formulario, el que deseamos implementar, en esta ocasión será un JDateChooser:
12-Al ejecutar nuestro proyecto podremos ver este nuevo elemento en acción, permitiéndonos brindarle una opción más a los usuarios del programa que estamos desarrollando, para que el diligenciamiento de los formularios sea aún más completo:
El misterio de la carpeta "Librerias JAVA"
Bueno... en realidad no es un misterio la creación de esta carpeta; pero sí, algo muy necesario, y que debemos hacer por precaución, pues cuando realizamos el proceso de agregar bibliotecas a nuestros proyectos JAVA o lo que acabamos de realizar que fue agregar nuevos elementos a la "Paleta de componentes" a partir de un archivo .jar, se toma como referencia la ruta de dicho archivo (.jar), por lo cual, si movemos y/o eliminamos el fichero de su lugar, se nos presentará un error y tendremos problemas en el funcionamiento de nuestro proyecto; en otras palabras, el JDateChooser que agregamos desaparecerá tanto de nuestro formulario como de la "Paleta de componentes".
Es por eso, que debemos tomar la buena costumbre de tener todas las librerías en un sólo lugar, en el cual se encuentren siempre disponibles y/o accesibles para su uso ;)
Si te perdiste el artículo anterior de JAVA-Tips, no dejes de revisarlo, ya que aprenderás algo nuevo e importante como: "Modificar ancho de columnas y alto de filas de una tabla".
Si te perdiste el artículo anterior de JAVA-Tips, no dejes de revisarlo, ya que aprenderás algo nuevo e importante como: "Modificar ancho de columnas y alto de filas de una tabla".
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.
Te invitamos a seguir el Curso de JAVA: Cómo lo hago en JAVA?, aquí en UH T.I.S tu Blog de tecnología.
Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...
que tal Eduardo me gustaria preguntarte como ingreso fechas con el jdatechooser a una base de datos ya que al ingresar la fecha me la inserta pero con la fecha actual no con la fecha seleccionada.
ResponderBorrarutilizo esto
PreparedStatement pst=con.prepareStatement(sql);
pst.setDate(11, new java.sql.Date(date.getTime()));
y esta parte que esta comentariada buscando una solucion pero me sigue generarando para mi el error de insertar una fecha actual y lo que quiero es la fecha seleccionada en jdatechooser.
//java.util.Date date = new java.util.Date();
//java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd");
//jDateChooser1.setDate(date);
//jDateChooser3.setDate(date);
//String fna = sdf.format(date);
//String fin=sdf.format(date);
Muchisimas Gracias.....
Saludos Estimado Roberto.
BorrarQue bueno verlo por este post :)
Bueno primero deberás realizar de forma correcta la captura de la fecha seleccionada en tu JDateChooser, para ello:
//Creas una variable tipo String
String fechastring=null;
/*Creas una variable del tipo Date y allí almacenas la fecha que hay en tu JDateChooser*/
Date fechajd=jDateChooser.getDate();
/*Creas un objeto del tipo SimpleDateFormat, para crear un formato y aplicarlo a tu fecha; luego, guardas la fecha formateada en la variable String*/
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
fechastring=sdf.format(fechajd);
Ahora dirígete a tu método donde guardas la información a la Base de datos:
/*Utiliza el método .setString no tendrás problema, ya que pasarás como parámetro la variable String (fechastring)*/
pst.setString(11, fechastring);
Realiza los pasos que te recomiendo, haz las pruebas y me comentas.
Bendiciones...
Solo quiero que Dios te guarde y te regale infinitas bendiciones gracias hermano......
ResponderBorrarAmén mi hermano, Dios lo bendiga grandemente a usted y su familia.
BorrarRecuerde que aquí en UH T.I.S estamos para colaborarnos entre todos :)
Eduardo se puede limpiar del campo del jdatechooser con un boton la fecha utilizada la pregunta es por que limpio mi formulario pero las fechas me quedan inmersas que se linea de codigo se usa para limpiarlas y dejar mi formulario en blanco Gracias.......
ResponderBorrarSólo coloca la siguiente línea de código en el botón limpiar de tu formulario:
BorrarjDateChooser.setDate(null);
Mil gracias
ResponderBorrarhola buenas noches necesito su ayuda urgente necesito poner los datos de un jdatechooser y de un spinner en un jtable, para un trabajo e buscado pero no encuentro nada, yo se que usted me puede ayudar.
ResponderBorrargracias y Dios le bendiga :)
Saludos estimado visitante, en el siguiente artículo podrás ver la forma de agregar datos desde los campos de tu formulario a una tabla (JTable):
BorrarCódigo JAVA: Agregar datos de un formulario a una tabla (JTable), y eliminar una fila y/o registro de una tabla (JTable)
Cualquier inquietud, déjame tu comentario.
¡CRISTO TE AMA!
Bendiciones...
Buen día gracias por la información se aprecia mucho, pero tengo una consulta cuando corro el proyecto en otro ordenador me da error porque no encuentra la librería Date pero si creo un ejecutable tendría este mismo problema gracias por su atención.
ResponderBorrarSaludo estimado.
BorrarEl error te sale por la ruta del archivo, deberás entonces volver a cargar el archivo "jcalendar-1.4.jar" tal como lo indica el punto 7 de este artículo.
Una vez tu creas tu ejecutable (.jar) para que no vayas a tener ningún inconveniente, debes tener presente llevarte junto al .jar, la carpeta "lib", que es donde se agrupan todas las librerías que necesitará tu aplicación.
Cualquier duda me comentas.
¡CRISTO TE AMA!
Bendiciones...
Hola DIOS te bendiga... varón.. me llamo Yurmario... Saludos.
ResponderBorrarOye estoy presentando un inconveniente con el manejo de fechas en netbeans, por ejemplo ya he guardado mis fechas en la base de datos, pero ahora necesito obtener la diferencia en días entre dos fechas, la fecha actual - la fecha de recibido(la que cargué a la base de datos). Ahora bien, cuando intento obtener la fecha actual con la línea de código siguiente: Date fechaHoy= new Date(); <<<----esta línea de cog--- me da error me podrías ayudar a resolver este problema???? necesito descargar una librería en especial???? Por otro lado cómo hay notificaciones por ejemplo: que si una orden de servicio no está lista pasados 7 días me notifique y me muestre una tabla con los equipos que no han sdo reparados en el tiempo establecido(días)..!! bueno espero tu respuesta gracias de antemano DIOS te continue bendiciendo..!!!!
Perdón la segunda pregunta es cómo hago notificaciones...?
BorrarTampoco me acepta esta la importar esto import java.util.Date; me da error no se porque he visto tutoriales y les funciona pero a mi no me importa la libreria :/
BorrarSaludo estimado.
BorrarEs un poco raro que tengas inconvenientes a la hora de hacer uso del import java.util.Date;
Lo que te puedo sugerir es que actualices el JDK y si estás usando una versión muy antigua de NetBeans trata de actualizarlo también, mínimo a la 7.4; luego, reinicia tu computadora y prueba nuevamente.
Cualquier duda me comentas.
Bendiciones...
Una duda??.. Se puede ingresar fechas siguientes automatiamente??
ResponderBorrarOsea que por ejemplo,, yo pongo la fecha de ingreso,, pero quiero que automaticamente,, ya se ponga la de la semana siguiente
FEcha de ingreso: 10/08/2016 FEcha a los 7 dias: 17/10/2016(pero que esto se ponga automaticamente),, si me podrias ayudar
Hola, una consulta, cómo hago para que me aparezca la fecha en el mismo campo del DateChooser al seleccionar una fila de una tabla?
ResponderBorrarSaludos estimada Dayana Ortiz.
Borrar1. Para pasar datos de un JTable a los campos de un formulario, deberás seguir los pasos que encontrarás en el siguiente post:
Código JAVA: Seleccionar registro de un JTable y mostrarlo en los campos de un formulario
2. Antes de mostrar tu fecha (capturada desde el JTable) deberás convertirla y aplicarle el formato que tiene asignado tu JDateChooser, ej:
/*Creas un objeto del tipo SimpleDateFormat, para crear un formato y aplicarlo a tu fecha; luego, muestras la fecha en el JDatechooser*/
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
JDateChooser.setDate(sdf.parse(fechadeljtable));
Cualquier duda me comentas.
¡CRISTO TE AMA!
¡ÁBRELE LAS PUERTAS DE TU CORAZÓN!
Bendiciones...
en el caso de querer guardar solo el año es decir utilizando el JYearChooser
ResponderBorrarQue tal amigo, me marca error cuando declaro la variable
ResponderBorrarDate fechajd=jDateChooser.getDate();
Ayudame porfavor
Saludos estimado José Caceres, lo más probable es que no estés importando la Clase Date, por lo cual deberás colocar en la parte de los import, la siguiente línea de código:
Borrarimport java.util.Date;
Otro punto no menos importante, es que tu jDateChooser debe llamarse así "jDateChooser".
Tu IDE debe mostrar una especie de icono en forma de bombillo en la línea que te marca error, coloca el mouse sobre dicho bombillo y te saldrá un mensaje especificándote el porqué del error.
¡CRISTO TE AMA!
Bendiciones...
Hola, como le hago para imprimir mi fecha de nacimiento
ResponderBorrarMuchisimas Gracias. No Sabes lo que me sirve tu ayuda
ResponderBorrar