import java.awt.*;(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
import java.awt.event.*;
import java.util.*;
public class CalenderCreator extends Frame
{
Button days[]=new Button[49];
Choice Month=new Choice();
Choice Year=new Choice();
Label lmonth=new Label("MONTH");
Label lyear=new Label("Year");
Label ltext=new Label("YEAR UPTO:::");
Panel p1,p2;
GregorianCalendar gc=new GregorianCalendar();
int totdays;
TextField textfield=new TextField(2);
public CalenderCreator()
{
setTitle("This is a calender");
setSize(400,400);
setResizable(false);
setLocation(50,50);
p1=new Panel(new FlowLayout());
p2=new Panel(new GridLayout(7,7,10,10));
p1.setBackground(Color.red);
p2.setBackground(Color.cyan);
add(p1,BorderLayout.NORTH);
add(p2);
p1.add(ltext);
p1.add(textfield);
p1.add(lmonth);
p1.add(Month);
Month.add("JAN");
Month.add("FEB");
Month.add("MAR");
Month.add("APR");
Month.add("MAY");
Month.add("JUN");
Month.add("JUL");
Month.add("AUG");
Month.add("SEP");
Month.add("OCT");
Month.add("NOV");
Month.add("DEC");
Month.addItemListener(new myLis(this));
// int i1=myAction.newyear; //
// System.out.println("iiiiiiiiii is :::::::"+i1); //
textfield.addActionListener(new myAction(this)); //
p1.add(lyear);
p1.add(Year);
Year.add("1990");
/* Year.add("1991");
Year.add("1992");
Year.add("1993");
Year.add("1994");
Year.add("1995"); */
Year.addItemListener(new myLis(this));
for(int i=0;i49;i++)
{
days[i]=new Button("");
}
for(int c=0;c49;c++)
{
p2.add(days[c]);
}
setVisible(true);
}
void setYear(String mynewyear)
{
int h=Integer.parseInt(mynewyear);
for(int adder=1991;adder=h;adder++)
{
Year.add(""+adder);
}
}
void setButtons(int myday,int mytotdays)
{
int count=7;
days[0].setLabel("SUN");
days[1].setLabel("MON");
days[2].setLabel("TUE");
days[3].setLabel("WED");
days[4].setLabel("THUR");
days[5].setLabel("FRI");
days[6].setLabel("SAT");
if ( myday0)
{
int blank= myday;
for( ;blank0;blank--,count++)
{
days[count].setLabel("");
}
}
for(int i=1;i=mytotdays; i++,count++)
{
days[count].setLabel(""+i);
}
for(int j = 1;count 49; j++,count++)
{
days[count].setLabel("");
}
}
void setVal(Date date,int iday,int iselMonth,int iselYear)
{
gc.setTime(date);
if(iselMonth==0 || iselMonth==2 || iselMonth==4 || iselMonth==6 || iselMonth== 7 ||iselMonth==9 || iselMonth==11)
{
totdays=31;
setButtons(iday,totdays);
}
if(iselMonth==3 || iselMonth==5 || iselMonth==8 || iselMonth==10)
{
totdays=30;
setButtons(iday,totdays);
}
if(gc.isLeapYear(iselYear) && iselMonth==1)
{
totdays=29;
setButtons(iday,totdays);
}
if( !gc.isLeapYear(iselYear) && iselMonth==1)
{
totdays=28;
setButtons(iday,totdays);
}
}
static public void main(String args[])
{
CalenderCreator c=new CalenderCreator();
}
}
class myLis implements ItemListener
{
CalenderCreator calLis;
public myLis(CalenderCreator c)
{
calLis=c;
}
public void itemStateChanged(ItemEvent i)
{
int selMonth=calLis.Month.getSelectedIndex();
int selYear1=Integer.parseInt(calLis.Year.getSelectedItem());
int selYear = selYear1- 1900;
Date d1 = new Date(selYear,selMonth,1);
int day = d1.getDay();
calLis.setVal(d1,day,selMonth,selYear);
}
}
class myAction implements ActionListener
{
CalenderCreator calAc;
int newyear;
public myAction(CalenderCreator ca)
{
calAc=ca;
}
public void actionPerformed(ActionEvent e)
{
String s=calAc.textfield.getText();
// newyear=Integer.parseInt(s);
System.out.println("Year upto::::::::"+s);
calAc.setYear(s);
TextField tf = (TextField)e.getSource();
tf.removeActionListener(this);
}
}