万年历-Java课程设计题(eclipse编辑器)

万年历-Java课程设计题(eclipse编辑器)_第1张图片


项目目录结构:

万年历-Java课程设计题(eclipse编辑器)_第2张图片

`CalendarMainClass.java`

package Calendar;

/**
 * CalendarMainClass主类
 * @author Administrator
 * @version 版本1.0
 */
public class CalendarMainClass {								

	/**
	 * 主函数
	 * @param args 传入的参数 args
	 */
	public static void main(String[] args) {
		/**
		 * 创建一个基于CalendarFrame的主容器fram
		 */
		CalendarFrame frame=new CalendarFrame();		
		/**
		 * 设置主容器的显示位置,以及界面的高和宽数据
		 */
		frame.setBounds(200,150,670,490);	
		/**
		 * 设置主容器为可见
		 */
		frame.setVisible(true);		
		/**
		 * 主容器初始化年月信息
		 */
		frame.setYearAndMonth(2016,1);							
		/**
		 * 设置主容器的标题
		 */
		frame.setTitle("万年历");		
		
	
	}

}
`CalendarFrame.java`

package Calendar;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;

import javax.swing.*;
import javax.swing.border.*;
/**
 * 
 * 窗体的具体构造及执行代码 
 * @author Administrator
 * @version 版本1.0
 */
public class CalendarFrame extends JFrame implements ActionListener,ItemListener{
	private static final long serialVersionUID = 1L;
	/**
	 * labelDay[] 存放每一天的标签数组|
	 * titleName 显示标题栏名称的按钮|
	 * text 输入年份的文本框|
	 * button,button1 按钮组件|
	 * label 标签|
	 * comBox 下拉列表组件|
	 * showMessage 显示日历的标签项
	 * 
	 */
	JLabel labelDay[]=new JLabel[42];										
	JButton titleName[]=new JButton[7];										
	JTextField text;														
	JButton button,button1;													
	JLabel label1,label2;																		
	JComboBox comBox;														
	String name[]={"日","一","二","三","四","五","六"};							
	CalendarBean calendar;													
	JLabel showMessage=new JLabel("",JLabel.CENTER);						

	int year=2011,month=2;
	/**
	 * JFrame都是Windows类的子类,因此主窗口为Windows型容器,其默认布局为BorderLayout布局
	 */
	public CalendarFrame(){	
		/**
		 * 为窗体修改自定义图标
		 */
		Image icon=Toolkit.getDefaultToolkit().getImage("F:\\eclipse\\代码区\\Calendar\\src\\Calendar\\calendar1.png");
		setIconImage(icon);
		/**
		 * 创建面板(可向面板中添加组件,再将面板添加到其他容器中)
		 */
		JPanel pCenter=new JPanel();		
		/**
		 * 将pCenter的布局设置为7行7列的GridLayout布局
		 */
		pCenter.setLayout(new GridLayout(7,7));	
		pCenter.setBackground(Color.WHITE);
		/**
		 * 向主容器中添加星期栏
		 */
		for(int i=0;i<7;i++){												
			titleName[i]=new JButton(name[i]);								
			titleName[i].setBorder(new SoftBevelBorder(BevelBorder.RAISED));	
			//titleName[i].setBackground(Color.green);
			pCenter.add(titleName[i]);										
		}																	
		/**
		 * 向主容器添加每个小日期标签
		 */
		for(int i=0;i<42;i++){												
			labelDay[i]=new JLabel("",JLabel.CENTER);
			labelDay[i].setBorder(new SoftBevelBorder(BevelBorder.LOWERED));	
			pCenter.add(labelDay[i]);										
		}				  
		/**
		 * 声明calendar为calendarBean类的子类
		 */																	
		calendar=new CalendarBean();	
		/**
		 * 设置个组件的具体内容
		 * 
		 */																	
		text=new JTextField(3);	
		text.setText("2016");
		button=new JButton("转到");									
		button1=new JButton("当前日期");										
		label1=new JLabel("                          万年历           ");
		/**
		 * 设置label标签的字体大小为30px
		 */																	
		label1.setFont(new Font("",1,30));	
		/**
		 * 创建下拉列表,并添加下拉列表选项
		 */			
		label2=new JLabel("今日:");
		comBox=new JComboBox();																							
		String []a={"1","2","3","4","5","6","7","8","9","10","11","12"};
		for(int i=0;i

`CalendarBean.java`

package Calendar;
import java.util.Calendar;
/**
 * 生成日历字符串数组
 * @author Administrator
 * @version 版本1.0
 */
public class CalendarBean {
	String day[];
	int year=2005,month=0;
	/**
	 * 设置year的set和get方法
	 * @param year 年份
	 * 
	 */
	public void setYear(int year){									
		this.year=year;												
	}																
	public int getYear(){											
		return year;												
	}					
	/**
	 * 设置month的set和get方法
	 * @param month 月份
	 */
	public void setMonth(int month){								
		this.month=month;											
	}																
	public int getMonth(){											
		return month;
	}																
	
	/**
	 * 创建可以得到具体日期的字符串数组
	 * @return 返回具体日期的字符串数组
	 */
	public String[] getCalendar(){									
		String a[]=new String[42];
		Calendar 日历=Calendar.getInstance();
		日历.set(year, month-1, 1);
		int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
		int day=0;
		if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
			day=31;
		if(month==4||month==6||month==9||month==11)
			day=30;
		if(month==2){
			if(((year%4==0)&&(year%100!=0))||(year%400==0))
				day=29;
			else
				day=28;
		}
		for(int i=星期几,n=1;i<星期几+day;i++){
			a[i]=String.valueOf(n);
			n++;
		}
		return a;
	}
}


你可能感兴趣的:(【编程语言】➣,Java,Java编程)