一个可以显示2002年日历的代码程序

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>


//========================MyCalendar.java=====================

// Topic : Calendar

// Author: Dy1978

// Date  : 2002-1-31

// Remark: 

//============================================================



import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//import  MyWindowListener;



public class MyCalendar extends JFrame implements ItemListener

{

	private Container c;

	private JPanel j_MyPanel=new JPanel();

	private JLabel arr_DateLabel[] = new JLabel[49];

	private String months[] = 

	         {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};

   	private JComboBox comboBox = new JComboBox (months);

	private int i_Days = 31;

	private int i_Week = 2;

	private int i_Month = 1;

	private String s_Week = null; 

	

	// Construct Method

	public MyCalendar()

	{

		super("日历");

		c = getContentPane();

		c.setLayout(new BorderLayout());

		// Add comboBox

		comboBox.setMaximumRowCount(6);

		//***************************

		//next sentence unknow before

		//***************************

		comboBox.addItemListener(this);

		c.add(comboBox,BorderLayout.NORTH);

		// Add j_MyPanel

		j_MyPanel.setLayout(new GridLayout(7,7));

		setCanlendar(i_Days,i_Week);	

		c.add(j_MyPanel,BorderLayout.CENTER);



		setSize(600,400);

        show();

	}



    // Method of Set Date Label of Calendar 

    public JLabel setDateLabel(int i_Date)

	{

		arr_DateLabel[i_Date]=new JLabel();

		arr_DateLabel[i_Date].setName("JLabel" String.valueOf(i_Date));

		arr_DateLabel[i_Date].setText(String.valueOf(i_Date-i_Week-6));

		arr_DateLabel[i_Date].setHorizontalAlignment(0);

	

	    return arr_DateLabel[i_Date];

    }



    // Method of Set Space Label of Calendar 

    public JLabel setSpaceLabel(int i_beginWeek)

    {

	    arr_DateLabel[i_beginWeek]=new JLabel();

	    arr_DateLabel[i_beginWeek].setName("JLabel" String.valueOf(i_beginWeek));

	    arr_DateLabel[i_beginWeek].setText("");

		arr_DateLabel[i_beginWeek].setHorizontalAlignment(0);

		

	    return arr_DateLabel[i_beginWeek];

    }

    

	// Method of Set Title of Calendar 

	public JLabel setTitleLabel(int i_titleWeek)

	{

		switch (i_titleWeek)

		{

			case 0: s_Week = "日"; break;

			case 1: s_Week = "一"; break;

			case 2: s_Week = "二"; break;

			case 3: s_Week = "三"; break;

			case 4: s_Week = "四"; break;

			case 5: s_Week = "五"; break;

			case 6: s_Week = "六"; break;	

		}

		

		arr_DateLabel[i_titleWeek]=new JLabel();

		arr_DateLabel[i_titleWeek].setName("JLabelw" String.valueOf(i_titleWeek));

		arr_DateLabel[i_titleWeek].setText(s_Week);

		arr_DateLabel[i_titleWeek].setForeground(Color.red);

		arr_DateLabel[i_titleWeek].setHorizontalAlignment(0);

		

		return arr_DateLabel[i_titleWeek];

    }



    // Method of Set Calendar : Add Label to j_MyPanel

	public void setCanlendar(int days,int week)

	{			

		for (int a=0;a<7;a  )

		{

			j_MyPanel.add(setTitleLabel(a),setTitleLabel(a).getName());

		}

		for (int i=0 7;i<i_Week 7;i  )

		{

			j_MyPanel.add(setSpaceLabel(i),setSpaceLabel(i).getName());

		}

		for (int l=week 7;l<days week 7;l  )

		{

			j_MyPanel.add(setDateLabel(l),setDateLabel(l).getName());

		}

		for (int k=days week 7;k<49;k  )

		{

			j_MyPanel.add(setSpaceLabel(k),setSpaceLabel(k).getName());

		}		

	}



	//ItemStateChanged Method : Date of Calendar Changed With Selected Month		

	public void itemStateChanged(ItemEvent e)

	{

		//***************************

		//next sentence unknow before

		//***************************

		i_Month=comboBox.getSelectedIndex() 1;

		switch (i_Month)

		{

			case 1: i_Days = 31; i_Week = 2; break;

			case 2: i_Days = 28; i_Week = 5; break;

			case 3: i_Days = 31; i_Week = 5; break;

			case 4: i_Days = 30; i_Week = 1; break;

			case 5: i_Days = 31; i_Week = 3; break;

			case 6: i_Days = 30; i_Week = 6; break;

			case 7: i_Days = 31; i_Week = 1; break;

			case 8: i_Days = 31; i_Week = 4; break;

			case 9: i_Days = 30; i_Week = 0; break;

			case 10: i_Days = 31; i_Week = 2; break;

			case 11: i_Days = 30; i_Week = 5; break;

			case 12: i_Days = 31; i_Week = 0; break;

		}

		//***************************

		//next sentence unknow before

		//***************************

		j_MyPanel.removeAll();

		setCanlendar(i_Days,i_Week);	

		show();  //necessary!

	}



    //Main Method

	public static void main(String args[])

	{

		MyCalendar app = new MyCalendar();

		//app.addWindowListener(new  MyWindowListener());

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值