JCalendar es un bean de Java que consiste en un calendario que permite seleccionar una fecha.
Wikipedia: Un Bean es un componente software que tiene la particularidad de ser reutilizable y así evitar la tediosa tarea de programar los distintos componentes uno a uno. Se puede decir que existen con la finalidad de ahorrarnos tiempo al programar. Es el caso de la mayoría de componentes que manejan los editores visuales más comunes.
JCalendar no está incluido en las librerías de Java, hay que descargar la librería para poder utilizarlo:
Para instalarlo, hay que descomprimir el contenido de la carpeta lib en nuestra carpeta de librería de java (Normalmente C:\Archivos de Programa\Java\jdk o jre…\jre\lib\ , y ya en Eclipse, hacer click derecho en el proyecto, properties, Java Build Path, Libraries, Add external JARS… y añadir los dos .jars descomprimidos anteriormente.
Una vez hecho esto, es sencillo incluirlo en cualquier programa. Un ejemplo:
JCalendar cal;
/...
cal=new JCalendar();
pCB=new JPanel();
pCB.setLayout(new GridLayout(1,1));
pCB.setBackground(VisorGrafico.naranja);
pCB.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
pCB.add(cal);
/...en el action listener...
fecha=new String();
fecha+=cal.getCalendar().get(Calendar.YEAR)+"-"+
(1+cal.getCalendar().get(Calendar.MONTH))+"-"+
cal.getCalendar().get(Calendar.DAY_OF_MONTH);
Resultado:

Esto nos insertaría en el String fecha la fecha seleccionada en el calendario en formato ‘YYYY-MM-DD’
Toda la documentación acerca de su uso está en esta página web:

muy bueno, me ahorro un monton de tiempo..mil gracias
Necesito implementar el JCalendar en un sistema de Alojamiento de Hotel para escoger fecha de inicio, fecha de fin y en base a ello efectuar la Liquidación.
esta muy bueno pero por favor que alguien me diga como ago para que los meses y dias me los ponga en español……… no se si tengo que bajar los jar en español o modoficar el codigo ya ni se que hacer espero su ayuda GRACIAS..
El Jcaledar te devuelve un objeto de tipo Date el cual puedes formatear con SimpleDateFormat y eligiendo el formato que quieras dar por ejemplo (MM-dd-YYYY) o (MMMMMM-dd-yyyy ) , ( dd/MM/yy), etc, el idioma del mes y dia lo fijas con Locale.getDefault(), quedando tu formato de fecha por ejemplo asi:
SimpleDateFormat formato = new SimpleDateFormat(“yyyy-MM-dd”, Locale.getDefault());
Locale.getDefault te trae la localizacion que esta establecida en tu sistema operativo y de este modo por ende el idioma. espero te sirva
Disculpaaaa peroo el + de la variable fecha que esta al final no hay un error …. y me pide el get.calendarr que hago
Diskulpaa qeu es el+ en la variable string fecha , y me pide el getcalendarr que hago Gracias
hola amigo muy bueno el codigo. ya descarge el jcalendar y lo descomprimi en la libreria. estos pasos los hice bien, pero cuando corro la aplicacion solamente me toma la fecha actual y no me captura otra fecha q no sea esa.. necesito q me respondas, para saber q me falta. gracias de antemano espero q me ayudes
Hola, tengo un problema al exportar un proyecto a .jar en el eclipse con el JCalendar, se exporta bien, pero las ventanas con el componente no se abren. URGENTE, tengo que entregar el proyecto esta semana!!!!!!!!
Gracias
Me ha sido muy util la informacion, muchas Gracias
oye muchas gracias con la informacion me ha sido demaciado util si pudieramos tener algun contacto con mucho gusto cuentas con el mio, saludos desde chihuahua mexico. =)