sábado, 13 de abril de 2013

Evento de seleccionar una fecha con JDateChooser

Después de revisar la poca documentación de esta librería (jcalendar-1.4) no logre dar cierta funcionalidad al evento de cambiar alguna fecha, se me ocurrió probar con algunos eventos y pues "FUNCIONO".

Bueno primero creamos el JDateChooser y a continuación vamos a implementar este evento que nos ayudara.

//Mi JDateChooser es llamado JD_Fecha

JD_Fecha.getDateEditor().addPropertyChangeListener(new PropertyChangeListener(){ 
        public void propertyChange(PropertyChangeEvent e) {
                //Aquí agregaremos la funcionalidad que queremos
                //por ejemplo al seleccionar una fecha le mostrare un diálogo con la fecha de hoy
                JOptionPane.showMessageDialog(rootPane, "la fecha es "+new Date());
        }
});

14 comentarios:

  1. No hay otra forma que no sea con propertychange?

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. gracias muy sencillo la verdad que hay poca informacion sobre ese control

    ResponderEliminar
  4. hola, sabes como poder hacer que se depliegue un jdateChooser al dar enter en el JTextField que lo acompaña y que al dar nuevamente enter para seleccionar la fecha deseada se vuelva a ocultar. si me puedes ayudar te lo agradecería mucho. saludos!

    ResponderEliminar
  5. buenisimo...muchisimas gracias....

    ResponderEliminar
  6. como le hago para validar la fecha futura que si selecciono año 2018 me diga un mensaje

    ResponderEliminar
  7. porque me tira 3 mensajes seguidos??
    Despues anda perfecto.

    ResponderEliminar
  8. Me sirvio mucho, agrego que hay que colocar dentro de un try-catch cualquier funcionalidad o método que querramos llamar con este evento.

    ResponderEliminar
  9. void PropertyChange() {

    dCFechaInicio.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
    public void propertyChange(java.beans.PropertyChangeEvent evt) {
    dCFechaInicioPropertyChange(evt);

    }
    });

    }

    private void dCFechaInicioPropertyChange(java.beans.PropertyChangeEvent evt) {
    System.out.println("mensaje");
    }

    ResponderEliminar