sábado, 18 de abril de 2015

Deshabilitar JDateChooser para que no editen fecha

La recomendación para hacer que JDateChooser de la libreria JCalendar quede en una fecha fija que le cargamos y no exista opción a modificación es:
  1. Deshabiltar la parte texto del JDateChooser
  2. Deshabilitar la selección de escoger fechas del calendario 


Primero seteamos la fecha por código:  this.JDateChooser.setDate(Date_tmp);

Paso 1: Luego de la sección initComponents(); para hacer que no editen la caja de texto colocar:
((JTextField) this.JDateChooser.getDateEditor()).setEditable(false); 

Paso 2: Emplear la función setSelectableDateRange para poner la fecha máxima y minima, al poner la misma fecha limitamos al calendario para que no haya elección:
this.JDateChooser.setSelectableDateRange(Max_Date, Min_Date);

this.JDateChooser.setSelectableDateRange(this.JDateChooser.getDate(), this.JDateChooser.getDate());

Aplicando los dos pasos estará listo para que no puedan editar, cambiará solo si por código cambiamos la fecha.

8 comentarios:

  1. gran aporte amigo me sirvio de mucho, indagando un poco sobre datechooser tambien se puede evitar seleccionar la fecha bloqueando el boton: datechooser.getCalendarButton().setEnabled(false);

    ResponderEliminar
  2. HE investigado, tambien funciona de esta manera.
    ((JTextComponent) this.(nombre de la tu varibale
    ).getDateEditor()).setEditable(false);

    ResponderEliminar
    Respuestas
    1. NO DEJA EDITAR EL TEXTFIELD PERO DEJA EDITAR CON EL ICONO DE JCALENDAR

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

      Eliminar
  3. muchas gracias por la publicación fue de mucha ayuda

    ResponderEliminar
  4. gran aporte justo lo que buscaba gracias mano

    ResponderEliminar