ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Calendario JCalendar


Enviado por   •  20 de Noviembre de 2011  •  2.174 Palabras (9 Páginas)  •  677 Visitas

Página 1 de 9

package calendario;

import java.awt.*;

import java.util.*;

import javax.swing.*;

public class Main extends JFrame {

/**

*

*/

private static final long serialVersionUID = 1L;

private JLabel lblCalendar;

private JPanel pnlDays;

private JButton lblDays[];

private final String days[] = {

"Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"

};

private final String months[] = {

"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",

"Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"

};

private final int daysMonth[] = {

31, 28, 31, 30, 31, 30,

31, 31, 30, 31, 30, 31

};

public Main(int month, int year) {

int offset = 0;

int numDays = 0;

int today = 0;

/**

* GregorianCalendar es una subclase de Calendar, por lo que nos

* proporciona toda la funcionalidad de esta clase y ademas nos brinda

* algunos metodos mas. En este caso estamos iniciando dos

* GregorianCalendar utilizando diferentes constructores.

*

* currCal se inicia con Calendar.getInstance() que nos devuelve un

* Calendar fijado en el dia de hoy.

* cal se inicia con el constructor que recibe la fecha

*/

GregorianCalendar currCal = (GregorianCalendar) Calendar.getInstance();

GregorianCalendar cal = new GregorianCalendar(year, month, 1);

/**

* En caso de que el mes del calendario que iniciamos con la fecha

* actual sea el mismo que el que iniciamos con la fecha pedida

* entonces cambiamos el dia de hoy

*/

if (currCal.get(Calendar.MONTH) == cal.get(Calendar.MONTH) &&

currCal.get(Calendar.YEAR) == cal.get(Calendar.YEAR) ) {

today = currCal.get(Calendar.DATE);

}

/**

* Obtengo el numero de dias del arreglo

*/

numDays = daysMonth[month];

/** Si es biciesto y es febrero le sumo uno al numero de dias */

if (month == Calendar.FEBRUARY && cal.isLeapYear(year)) {

numDays++;

}

/**

* Obtengo el numero de dias que van a ir en blanco.

* Al llamar el metodo get de la siguiente manera

* get(Calendar.DAY_OF_WEEK) nos va a devolver un 0 para domingo, un 1

* para lunes y un 6 para sabado, por lo que es el numero de dias que

* debemos dejar en blanco directamente

*/

offset = cal.get(Calendar.DAY_OF_WEEK);

/**

* El GridLayout en realidad no le hace caso mas que a uno de los dos

* parametros que recibe y en el otro se expande hasta que entren todos

* los controles que se agruegen. Para indicarle cual de los dos debe

* despreciar ponemos un cero, lo que interpreta Java como expande este

* lado hasta que entren todos los controles.

*/

this.setLayout(new BorderLayout());

pnlDays = new JPanel(new GridLayout(0, 7));

lblCalendar = new JLabel(months[month] + " " + year);

lblCalendar.setIcon(

...

Descargar como (para miembros actualizados) txt (7 Kb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com