Código Java – Agregar un Componente JCalendar al Proyecto


Este es el Ejemplo #17 del Topic: Programación Gráfica en Java.

En el post anterior hablamos sobre los CheckBoxList, ahora tocaremos otro componente también importante y muy usado que es el Calendar. He encontrado muchos componentes de este tipo pero la mayoría de ellos de pago y otros gratuitos pero sin buen diseño. Al final pude encontrar algo en SourceForge y seguramente podría servirnos mucho; es un JCalendar en dos presentaciones, un frame del calendar como tal y la otra modalidad incrustada en un combo.

Descargar: JCalendar.jar

Luego de descargar el JCalendar.jar vamos a importarlo al proyecto. Para que sea más accesible en el futuro podemos agregar el componente al panel de Beans de la IDE en el cual estamos trabajando y de esa manera solo tendremos que arrastrarlo al contenedor cada vez que tengamos que usarlo.

En el siguiente ejemplo agrego ambas presentaciones del JCalendar a JFrame:

/**
* jcalendar.jar
 */

package beastieux.gui;

import java.awt.FlowLayout;
import javax.swing.JFrame;
import org.freixas.jcalendar.JCalendar;
import org.freixas.jcalendar.JCalendarCombo;

/**
 *
 * @author beastieux
 */
public class Ejm17_JCalendar extends JFrame {
    public Ejm17_JCalendar()
    {
      JCalendar calEjemplo1=new  JCalendar();
      JCalendarCombo calEjemplo2=new  JCalendarCombo();

      this.add(calEjemplo1);
      this.add(calEjemplo2);
      this.setLayout(new FlowLayout());
      this.setSize(400, 300);

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    }

    public static void main(String args[]) {
        Ejm17_JCalendar obj = new Ejm17_JCalendar();
        obj.setVisible(true);
    }
}

Anuncios

17 comentarios sobre “Código Java – Agregar un Componente JCalendar al Proyecto

  1. Amigo quisiera saber como puedo mostrar la fecha en un textfield, ya que me muestra la fecha pero con hora y solo deseo la fecha ej: Wednesday 19,April 1994

  2. Buenas como hago para cambiar las dimensiones del calEjemplo2 q pusiste?xq neceisto ubicarlo en cierto lado de la pantalla y con dimensiones distintas y que muestre la fecha como dd/mm/aaaa me podes ayudar???

  3. Have you ever considered about including a little bit more
    than just your articles? I mean, what you say is important and everything.
    However just imagine if you added some great graphics or videos
    to give your posts more, “pop”! Your content is excellent but with
    images and video clips, this website could undeniably be one of the best
    in its niche. Great blog!

  4. TENGO UN FRAME CON UN BOTON Y UN TEXTFIELD AL DAR CLICK EN EL BOTON ME APARECE EL JCALENDAR, PERO AL DAR CLICK EN CUALQUIER FECHA NO ME LA TRASLADA AL TEXTFIELD, COMO SI NO TUVIERA LISTENER… COMO LE HAGO O Q MODIFICO? :(

  5. Como Puedo Obtener la fecha que selecciono para ponerla en un JTextField. El action listener que pone en el ejemplo la escribe a una linea de comandos pero no encuentro la forma de incluirle un método a la clase que me retorne el valor de la fecha seleccionada.

    1. Hola Ryan, suponiendo que declaro un JCalendar cal_fnacimiento y un JTextField txt_fnacimiento:
      protected JCalendarCombo cal_fnacimiento;
      protected JTextField txt_fnacimiento;

      Setear un JCalendar

      this.cal_fnacimiento.setDate("FECHA_EN_FORMATO_DATE");
      this.cal_fnacimiento.repaint();
      

      De JCalendar a JTextField:

          private void cal_fnacimientoDateChanged(org.freixas.jcalendar.DateEvent evt) {                                            
                         this.txt_fnacimiento.setText(this.cal_fnacimiento.getDate().toString());
          }  
      

      Ahi tienes las dos funciones principales, para lo que quieres hacer, busca en el control JCalendar que creaste el evento DateChanged, dentro de ello setear el jtextfield como en el segundo ejemplo.

      Espero que te sirva, me comentas como va!!
      Saludos.

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s