当前位置:文档之家› Java万年历课程设计报告

Java万年历课程设计报告

(8)通过点击闹钟按钮设置闹钟
(9)显示系统当前时间和日期。
(10)显示作者信息。
2万年历详细设计思路
2.1程序设计思路
1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。
setVisible(true);
init();
com1.addItemListener(this);//对下拉组件监听
com2.addItemListener(this);
but1.addActionListener(new ActionListener() {//按钮动作监听
public void actionPerformed(ActionEvent e) {
return first_day;
}
public void stateChanged()
{
int year3,month3,week3;
year3=Integer.parseInt(com1.getSelectedItem().toString());
month3=Integer.parseInt(com2.getSelectedItem().toString())-1;
Resetday(first_day_num,year,month);//调用Resetday函数
}
public int use(int year2,int month2)//use函数
{
int first_day;
now.set(year2, month2,1);
first_day=(int)(now.get(Calendar.DAY_OF_WEEK));
{
public void actionPerformed(ActionEvent evt)
{
String s1= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
labelTime.setText("现在时间是:"+s1);
month=(int)(now.get(Calendar.MONTH));//获得月份
year=(int)(now.get(Calendar.YEAR));//获得年份
com1.setSelectedIndex(year-1800);//将年份设置为当前年份
com2.setSelectedIndex(month);//将月份设置为当前月
import javax.swing.Timer;
import aa.Lunar;
public class MainFrame extends JFrame implements ItemListener//建立主界面
{
JPanel panel=new JPanel(new BorderLayout());//建立中层容器并布局
JLabel feng =new JLabel("桂电大烧饼制作!",JLabel.CENTER);
JLabel labelTime=new JLabel("",JLabel.CENTER);
JComboBox com1=new JComboBox();//下拉窗口
JComboBox com2=new JComboBox();
2.1程序设计思路…………………………………………………………………5
2.2程序运行主界面………………………………………………………………5
2.3 流程图…………………………………………………………………………6
3 各模块功能实现及代码说明………………………………………………………6
3.1MainFramel类…………………………………………………………………6
JPanel panel1=new JPanel();
JPanel panel2=new JPanel(new GridLayout(8,7));
JPanel panel3=new JPanel(new GridLayout(4,1));
JLabel[] label=new JLabel[49];//标签
5参考文献…………………………………………………………………………34
基于Myeclipse的万年历
摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。
4Байду номын сангаас如果年份小于1900年则程序不予判断。
2.2程序运行主界面
2.3流程图
3各模块功能实现及代码说明
3.1 MainFrame类
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
JButton but1=new JButton("闹钟"); //按钮
JButton but2=new JButton("世界时间");
Calendar now=Calendar.getInstance();
public MainFrame()//设置主界面,并添加各组件
{
super("大烧饼万年历");
(1)通过MainFrame类,实现图形界面和公历日期。
(2)提供年份、月份的下拉形式菜单来选择年份和月份。
(3)通过Lunar类实现农历日期。
(4)通过national类实现世界时间。
(5)能以月历形式显示日期与星期。
(6)通过SetClock类来实现闹钟功能。
(7)通过点击世界时间按钮查询世界时间
panel2.add(label[i]);
}
panel.add(panel1,BorderLayout.NORTH);//中层容器布局
panel.add(panel2,BorderLayout.CENTER);
panel.add(panel3,BorderLayout.SOUTH);
setContentPane(panel);
{
label[i].setText(log[i]);
}
for(int i=0;i<49;i=i+7)
{
label[i].setForeground(Color.red);//将星期天设置为红色
}
for(int i=6;i<49;i=i+7)
{
label[i].setForeground(Color.red);//将星期六设置为红色
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
1系统模块设计………………………………………………………………………4
1.1需求设计………………………………………………………………………4
1.2开发和运行环境………………………………………………………………4
1.3功能设计………………………………………………………………………4
2万年历详细设计思路………………………………………………………………4
3.2Lunar类………………………………………………………………………14
3.3national类……………………………………………………………………22
3.4 SetClock类……………………………………………………………………26
4小结………………………………………………………………………………34
}
for(int i=1800;i<=2100;i++)//将年份的下拉设置为1800-2100年
{
com1.addItem(""+i);
}
for(int i=1;i<13;i++)//讲月份下拉设置为12月
{
com2.addItem(""+i);
}
first_day_num=(int)(now.get(Calendar.DAY_OF_WEEK));//获得日期
JLabel y_label=new JLabel("年");
JLabel m_label=new JLabel("月");
JLabel dashao =new JLabel("时间总是在不经意间溜走,我们还得向前走",JLabel.CENTER);
JLabel bing =new JLabel("希望在回首时候,不带任何遗憾!",JLabel.CENTER);
new aa.SetClock(); //闹钟类
}
});
相关主题