The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

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);
    }
}

16 Respuestas a “Código Java – Agregar un Componente JCalendar al Proyecto

  1. Anónimo diciembre 6, 2014 en 3:30 pm

    Como puedo hacer para marcar de un color distinto un dia en especial del calendario

  2. Drako junio 25, 2014 en 5:55 pm

    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

  3. shawn junio 2, 2014 en 9:25 pm

    Muy bueno lo voy a probar en mi aplicación

  4. Jahir Vidaurre noviembre 12, 2013 en 7:06 pm

    Una pregunta he utilizado el dateshoseer lo abro pero me muestra las casillas sin numeros queria saber como solucionar ese problema para poder especificar el numero del dia. Grazias

  5. David junio 4, 2013 en 11:00 am

    Tambien si me puedes ayudar para capturar la fecha que se elige para mostrarlos en un JLabel

  6. David junio 4, 2013 en 10:40 am

    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???

  7. pozcyjonowanie Częstochowa mayo 25, 2013 en 11:31 pm

    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!

  8. Jav mayo 1, 2013 en 5:08 am

    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? :(

  9. mi-seleccion-exclusiva.com abril 25, 2013 en 1:24 pm

    Hey There. I found your blog using msn. This is a very well written article.
    I will be sure to bookmark it and come back to read more of your
    useful information. Thanks for the post. I’ll definitely return.

  10. Anónimo junio 10, 2012 en 4:24 pm

    bueno, el calendario se ve bien, pero una pregunta, ¿y si necesito hacer algo al hacer clic en alguna fecha , como se haria?

  11. Fredy septiembre 16, 2011 en 10:13 pm

    Gracias compañero muy buen aporte.

  12. Anónimo junio 24, 2011 en 12:21 pm

    brother disculpa soy nuevo en programacion para crear el calendario tengo q crear el combobox y asi todos los botones ??

  13. Ryan abril 21, 2011 en 3:42 am

    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.

    • BeAsTiEuX abril 21, 2011 en 4:51 am

      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.

      • Ryan abril 25, 2011 en 5:13 am

        Gracias. Implemento y te comento.

        • Ryan abril 26, 2011 en 4:58 am

          Gracias en la pagina del proyecto encontré un complemento a lo que me escribiste con la implementacion del listener.
          http://flib.sourceforge.net/JCalendar/doc/example/Example1.java
          Problema resuelto.

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

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

A %d blogueros les gusta esto: