JDateChooser en Java: En esta ocasión veremos el uso de JDateChooser contenido en la librería JCalendar 1.4, un selector de fechas muy útil para JAVA, estos componentes tienen infinidad de funciones dependiendo de lo que deseemos realizar, por ahora estudiaremos las funcionalidades básicas y mas importantes como: obtener una fecha seleccionada, como setearle una fecha al JDateChooser y como devolver el foco en tiempo de ejecución, son factores que serán de gran ayuda cuando se está trabajando con bases de datos o aplicaciones mas complejas veamos:
JDateChooser en Java, un selector de fechas para Java
Clase funciones, utilizada en el vídeo tutorial:
public class Funciones { SimpleDateFormat Formato = new SimpleDateFormat("dd-MM-yyyy"); public String getFecha(JDateChooser jd){ if (jd.getDate()!=null){ return Formato.format(jd.getDate()); }else{ return null; } } public java.util.Date StringADate(String fecha){ SimpleDateFormat formato_del_Texto = new SimpleDateFormat("dd-MM-yyyy"); Date fechaE=null; try { fechaE = formato_del_Texto.parse(fecha); return fechaE; } catch (ParseException ex) { return null; } }
Descarga de la Librería Aquí
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Hola, excelente video me ha sido de gran ayuda, pero tengo una duda, espero y me la puedas resolver, quiero hacer lo siguiente:
Lo que quiero hacer es almacenar una fecha importante, por ejemplo Cumpleaños de mi hermano y luego la fecha 12/05/2015 y que ese acontecimiento me lo muestre en un JCalendar, como tipo agenda, que marcas una fecha importante en el calendario, algo asi masomenos, no sé si me explique, espero tu pronta respuesta, muchas gracias y sigue así con los videos, mucho éxito.
Hola amigo, de antemano muchas gracias por el comentario constructivo, con respecto a tu solicitud puedes realizar tal acción utilizando otro componente mucho mas acorde con lo que necesitas (DateChooserPanel), aquí una imágen:
Mediante este método puedes obtener tus fechas:
public String Fecha_DateChooserPanel(DateChooserPanel calendario){
String a = Integer.toString(calendario.getCurrent().get(java.util.Calendar.YEAR));
String m = Integer.toString(calendario.getCurrent().get(java.util.Calendar.MONTH)+1);
String d = Integer.toString(calendario.getCurrent().get(java.util.Calendar.DATE));
String mes;
int mm = Integer.parseInt(m);
if(mm < = 9){ mes = "0"+m; }else{ mes = d; } String fech = a+"-"+mes+"-"+d; return fech; }
Aquí te dejo la librería: DateChooserPanel
También hay otro calendario muy interesante de la librería JPComponents, no estaría mal que lo estudiaras:
Aquí la Librería: JPComponets
Cualquier inconveniente nos cuentas, saludos!.
segun el ejemplo de actualizar ,tengo un busqueda de datos me muestra los datos en las cajas de texto pero como puedo hacer para que me muestra la fecha actual en jdatechooser desde mysql ?
Hola amigo, puedes proceder de la siguiente manera para realizar esa acción:
private void Fecha(){
try {
Date d=null;
Clases.BDConectar BD = new Clases.BDConectar();
BD.ConectarBasedeDatos();
BD.resultado = BD.sentencia.executeQuery("SELECT NOW() AS 'fecha';");
while(BD.resultado.next()){
if(BD.resultado!=null){
d = Funciones.convierteStringADate(BD.resultado.getString("fecha"));
}
}
jDateChooser1.setDate(d);
} catch (SQLException ex) {
Logger.getLogger(Agendas.class.getName()).log(Level.SEVERE, null, ex);
}
}
Con ese método asignas la fecha a tu JdateChooser desde una consulta, que en mi ejemplo es la que arroja el servidor con SELECT NOW(); a continuación los métodos que intervienen:
Para convertir de String a Date:
public Date convierteStringADate(String stringFecha){
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date fecha = sdf.parse(stringFecha);
return fecha;
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
return null;
}
}
y la clase de conexión a la base de datos que sé que ya la tienes implementada, solo queda ajustarla a tus necesidades.
Hasta pronto!.
Muchas Gracias Estimado
El jun. 3, 2015 3:22 PM, «Disqus» escribió:
Que tal…
Tengo una duda para poder guardar una fecha de nacimiento con el jdatachooser en una BD
como podría ser el código del botón guardar donde se haría el insert into???
gracias.
hola, este tengo un problema espero y me puedas ayudar, implemente tu código en mi programa y al momento de setear u obtener la fecha, me obtiene un año menos al que selecciones y un mes mas al que selecciones, osea si elijo la fecha 2015/11/23 «yyyy,mm,dd» me manda esto al setear u obtener la fecha 2014/12/23, espero su respuesta gracias