搜档网
当前位置:搜档网 › java日历软件

java日历软件

java日历软件
java日历软件

课程设计报告

( 2014-- 2015 年度第二学期)

名称:软件设计与实践

题目:日历记事本的设计与实现院系:计算机系

班级:

学号:

学生姓名:

指导教师:软件设计与实践教学组

设计周数: 2

成绩:

日期:2015 年7 月17 日

软件设计与实践

任务书

一、目的与要求

目的:通过综合性实验的设计,使学生综合训练自己的需求分析、系统设计、编程、测试等各种能力,积累软件开发的经验,提高学生进行软件开发所需具备的专业素质以及团队协作能力。

要求:完成一个GUI界面的日历记事本的分析、设计、编程、测试工作。

二、主要内容

1.编写一个GUI界面的日历记事本,结合两者的功能。

2.用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容;

3.能够在对应的日期时间给用户以提醒;

三、进度计划

四、设计(实验)成果要求

程序代码注释丰富,经过测试,运行正常、合理。程序页面友好,使用方便。

五、考核方式

1.平时成绩占10%。

2.综合实验完成情况占30%。

3.实验问答占20%

4.实验报告占40%。

学生姓名:

指导教师:软件设计与实践教学组

2015年7月17日

一、课程设计的目的与要求

1.目的:通过综合性实验的设计,使学生综合训练自己的需求分析、系统设计、编程、测试等各种能力,积累软件开发的经验,提高学生进行软件开发所需具备的

专业素质以及团队协作能力。

2.要求:完成一个GUI界面的日历记事本的分析、设计、编程、测试工作。

二、设计正文

1.需求规格说明书

编写的日历记事本,拥有了现实日历很难很快查询实现的功能。现在电脑使用用户越来越多,就不需要购买现实的日历,而通过这个小小的程序就可以帮助人们知道现在和未来的日期,还可以查询你想要的日期。能够给用户带来更加简单和实用的感觉。在查询日期时,可以对日期进行日志添加、删除和修改。附带的记事本可以记下自己私有的事情。

系统目标:

1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。

2.该日历也可以在某年内按月前后翻动。当鼠标左键单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮时,当前日历的月份加一。

3.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。

4.用户选择具体日期后,可以将记事本的当前内容保存起来,形成日志。

主体功能:

用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。

通过按按钮“上年”和“下年”对年份进行翻页。通过按按钮“上月”和“下月”对月份进行翻页。用户可以通过输入年份来查看自己的日志。显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。查询信息:用户可以查询到某个月的所有的提示信息。

页面设计分为左右两个部分,左部分为日历的视图,上边放置了调节年份和月份的按钮,下边是日历的格式。右部分作为一个备忘录的文本域。当该日写有备忘时,会在文本域弹出提示有备忘是否查看。文本域的下边设有增加备忘和删除当前备忘的按钮。

2.设计说明书

2.1系统的功能模块划分:

本日历记事本共有4个java源文件。

CalendarPad.java:该java文件生成的类负责创建本日历记事本程序主窗口。该类含有

main方法,程序从该类开始执行。

Year.java:该文件负责创建管理年份的对象。

Month.java:该文件负责创建管理月份对象。

NotePad.java:该文件负责创建记事本。

图2-1 类之间的关系

2.2系统流程:

2.2.1.系统实现

图2-2 系统功能结构

2.2.2.系统实现流程

CalendarPad作为主函数的入口。调用NotePad类的方法完善自己的窗口。当对窗口的年份和月份进行改变时就会触发Year类和Month类里的触发器和方法,从而达到日历备忘录的目的。

图2-3 系统流程实现

2.3系统详细设计

2.3.1系统变量与方法

在设计日历记事本时,需要编写3个Java类:CalendarPad.java、Year.java、NotePad.java、month.java。日历记事本除了需要编写的上述3个Java所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File 类。图形界面至少要有一个顶级Swing容器

顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持;

常用的顶级容器:Frame(框架):表示主程序窗口JDialog(对话框):每个JDialog 对象表示一个对话框,对话框属于二级窗口JApplet(小程序):在浏览器内显示一个小程序界面一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格窗格也可以看作是一种面板,但它是框架的一个组成部分组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板

public static void main(String[ ]args){JFrame frame=new

JFrame("SwingApplication");

JPanel panel1=new JPanel();

frame.getContentPane().add(panel1,BorderLayout.CENTER);

关键是java.awt.*里面的两个与显示设备有关的类:GraphicsEnvironment 和GraphicsDevice。GraphicsEnvironment为Java应用程序提供了特定平台的GraphicsDevice对象和Font 对象集合。这些GraphicsDevice可以是各种本机和远端机器的资源,如屏幕、打印机或者是Image Buffer,甚至是Graphics2D绘图方法的目标对象。

而GraphicsDevice就是指特定的图形环境了,如屏幕和打印设备等。这样,我们就可以用GraphicsDevice来操纵屏幕了。GraphicsDevice提供的setFullScreenWindow()方法就是设置全屏幕用的。

监听器actionlistion:

方法:actionPerformed事件:ActionEvent

● String getActionCommand()

actioncommand是控件内部的一个字符串,用于标识控件的状态。

此函数可以取得控件的状态,从而决定到底该做什么。

● int getModifiers()

取得“产生此事件时,用户同时按下的组合键”

● long getWhen()

取得“产生此事件时的时间戳”

事件产生原因:点击按钮,在列表框中选择内容,在文本框中点回车,计时器到期。

1.CalendarPad类

表4-1主要成员变量(属性)

成员变量描述变量类型名称

年、月、日int Year,month,day

保存日志的散列表Hashtable hashtable

存放散列表的文件File file

显示日期JTextField[] showDay

日历对象Calendar 日历

记事本对象NotePad notepad

月Month 负责改变月

年Year 负责改变年

表4-2 主要方法

名称功能备注

CalendarPad 创建程序主窗口构造方法

设置日历牌设置日历的年份、月份

排列号码排列月份中的号码

mousePressed 处理MouseEvent事件接口方法

mian 程序开始运行

2.记事本NotePad

表4-3主要成员变量(属性)

描述变量类型名称

文本输入区JTextArea text

保存、删除日志的按钮Button 保存日志、删除日志

保存日志的散列表Hashtable table

保存散列表的文件File file

记录日志的年、月、日int year,month,day

表4-4 主要方法

名称功能备注

NotePad 创建记事本对象构造方法

setYear 设置年份

getYear 获取年份

setMonth 设置月份

getMonth 获取月份

setDay 设置日期

getDay 获取日期

获取日志内容获取日志内容

保存日志保存日志

删除日志删除日志

actionPerformed 处理ActionEvent事件接口方法

3.年Year

表4-5主要成员变量(属性)

描述变量类型名称

int year

表示年份的整数(负数表示

公元前)

显示年份的文本条JTextField showYear 负责增减年份的按钮JButton 明年,去年

表4-6 主要方法

名称功能备注

Year 创建“年”对象构造方法setYear 设置年份

getYear 获取年份

actionPerformed 处理ActionEvent事件接口方法4.月Month

表4-7主要成员变量(属性)

描述变量类型名称

int month

表示月份的整数(负数表示

公元前)

显示月份的文本条JTextField ShowMonth 负责增减月份的按钮JButton 上月,下月

表4-8 主要方法

名称功能备注Month 创建“月”对象构造方法set Month 设置月份

get Month 获取月份

actionPerformed 处理ActionEvent事件接口方法

2.3.2类的算法

主类的算法:CalendarPad 类首先创建用于布局的面板,左面添加日历牌,右面添加记事本。然后调用CalendarPad 方法,该方法有三个分别是year, month, day 的整形参数。该方法管理日历记事本的主界面。在日历牌部分使用网格布局,行数和列数均为7。其中第一行显示星期标题的标签,后续六行显示日期的标签。

号码排列算法:该方法包含两个整形参数,分别是星期几和月天数。该方法的作用是将日期一次排列入日历牌的网格中,日期显示的字体字体均为TimesRoman,并将星期六显示为蓝色,星期日显示为红色。将当前日期显示为绿色,大小为20,其它日期为黑色,字体大小为12。

设置日历牌方法的算法:该方法有两个整形参数,分别是year 和month。该方法根据平、闰年以及每个月份的天数不同而以不同的方式将一个月中的每一天依次排入网格中。当月份为1、3、5、7、8、10 和12 时,每月包括31 天,当月份为4、6、9、11 时,每月包括30 天,平年的2 月为28 天,闰年的2 月为29 天。

记事本的算法描述如下:NotePad 类首先调用NotePad 方法创建一个容器,在这一容器中使用了边界布局管理器。在该布局的北部是一个显示日期的信息条,该信息条显示的信息使用的字体是TimesRoman,大小是16 号。该信息条显示的日期为用户所选定的日期。在布局管理器的中部是一个10*10 的文本区域。该文本区域用来输入和显示日志的内容。在布局管理器的南部放置了两个按钮分别表示“保存日志”和“删除日志”。在用户使用鼠标点击这两个按钮时会调用actionPerformed 方法,以执行保存日志或删除日志的操作。

执行保存日志的操作需要调用方法“保存日志”。该方法的参数为三个整形变量,分别是:year, month, day。当用户点击保存日志按钮后,该方法首先弹出对话框询问用户是否保存日志,如果用户选择“是”,则该方法将日志内容添加到所选日期的散列表对象中,然后将其存为文本文件。

执行删除日志的操作需要调用方法“删除日志”。该方法的参数同样为三个分别为year, month, day 的整形变量。当用户点击删除日志按钮,该方法首先弹出对话框询问用户是否删除日志,如果用户选择“是”,则该方法首先到文件中读取散列表对象,然后删除该对象,以达到删除日志的目的。如果该方法无法读取散列表对象,即所选日期没有日志,则弹出对话框通知用户当日没有日志记录。

如果用户在选择了一个没有日志记录的日期后点击“删除日志”按钮,系统会弹出对话框提示该日无日志记录。该类还有一个名为“获取日志内容”的方法。该方法具有三个分别是year, month, day 的整形参数。当用户在日历牌中选定一个日期后该方法会判断该日期是否存在日志记录,若有则弹出对话框询问用户是否要查看日志,如果用户选择查看日志,该方法则从带有日期项的散列表中获取日志内容并在文本区域显示出日志的内容。如果该

日期没有日志记录,则在文本区域显示“无日志记录”。

3.程序测试

3.1测试方案:

1.打开主界面,鼠标左键右击,查看日历界面。

2.选定一个日期写日志。

3.对日历添加、删除日志。

4.修改年份,查看一些日志。

3.2测试结果:

1.年份改变

点击一次“上年”按钮可增加一年,点击一次“下年”按钮可减少一年,多次连续点击即可依次改变多个年份。

2.月份改变

点击一次“上月”按钮可以增加一月,点击一次“下年”按钮可以减少一月,多次连续点击即可一次改变多个月份。

3.日期显示

用于显示当前所选择的所在的年份月份的所有日期、星期,并在记载有日志的日期直接跳出“这一天有日志记载,你想看吗?”,而没有记载日志的日期文本中则在文本框中“无记录”。

4.日志显示

界面的日期框中,可以选择某天记载的日志,并且读取的日志在此部

分显示出来。

5.保存、删除、读取日志。

可以在没有记载日志的日期里记载日志并保存,可以对以保存的日志进行读取、修改或者删除。

(1)保存日志:

(2)删除日志:

(3)查看日志

三、课程设计总结或结论

经过几天的努力,基本上完成了我的软件课程设计。通过这次的课程设计,基本上将书本上的知识运用到实践上,从而进一步巩固和丰富所学知识,也让我更加深层次的认识了java及其功能的强大。为了更好地完成这次课程设计,我做了很多准备,上网查阅资料,到图书馆翻阅书籍。这个过程中也锻炼了我的思维分析、遇到问题及想法设法通过各种途径解决问题的能力。

在这个过程中,在把书本上的知识给系统的复习了一下的同时,同时也发现了自己的太多不足,对JA V A语言整体知识构架不够熟悉,不能灵活地运用所学的知识点。自己的编程方式也不是太标准,经常出现代码写错而调试很久的低级错误情况出现。

从理论到实践,在整整几天的时间里,可以说,是苦大于甜,但确实学到很多东西,同

时不仅巩固了以前的知识,而且学到了许多书上学不到的知识。通过这次课程设计使我懂得了理论与实践相结合是很重要的,只有理论知识是不够的,只有把所学的理论知识和实践结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考能力。同时老师在验收时指出了很多的不足,值得我思考,通过这次课程设计,了解到了自己的不足之处,对以前的知识没有掌握到位,所以我们一定要学好理论知识,为以后的实践打下基础。

四、参考文献

[1]耿祥义,张跃平Java2实用教程(第三版)[M] . 北京:清华大学出版社,2006

[2]耿祥义Java课程设计(第三版)[M] . 北京:清华大学出版社,2004

[3]张跃平Java2实用教程实验指导与习题解答(第三版)[M]. 北京:清华大学出版社,2004

[4]Jacquie Barker,Java面向对象编程指南,电子工业出版社,2001

[5]孙全党,王吴迪赵枫朝,Java程序设计应用教程,电子工业出版社,2006.2

[6]赵玉阳,Java从入门到精通,清华大学出版社,2006.8

[7]肖磊,李钟尉,Java实用教程,人民邮电出版社,2008.5

附录(设计流程图、程序、表格、数据等)

程序代码:

主类CalendarPad:

CalendarPad。Java

import java.util.Calendar;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.Hashtable;

public class CalendarPad extends JFrame implements MouseListener

{

int year,month,day;

Hashtable hashtable;

File file;

JTextField showDay[];

JLabel title[];

Calendar 日历;

int 星期几;

NotePad notepad=null;

Month 负责改变月;

Year 负责改变年;

String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

JPanel leftPanel,rightPanel;

public CalendarPad(int year,int month,int day)

leftPanel=new JPanel();

JPanel leftCenter=new JPanel();

JPanel leftNorth=new JPanel();

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

rightPanel=new JPanel();

this.year=year;

this.month=month;

this.day=day;

负责改变年=new Year(this);

负责改变年.setYear(year);

负责改变月=new Month(this);

负责改变月.setMonth(month);

title=new JLabel[7];

showDay=new JTextField[42];

for(int j=0;j<7;j++)

{

title[j]=new JLabel();

title[j].setText(星期[j]);

title[j].setBorder(BorderFactory.createRaisedBevelBorder());

leftCenter.add(title[j]);

}

title[0].setForeground(Color.red);

title[6].setForeground(Color.blue);

for(int i=0;i<42;i++)

{

showDay[i]=new JTextField();

showDay[i].addMouseListener(this);

showDay[i].setEditable(false);

leftCenter.add(showDay[i]);

}

日历=Calendar.getInstance();

Box box=Box.createHorizontalBox();

box.add(负责改变年);

box.add(负责改变月);

leftNorth.add(box);

leftPanel.setLayout(new BorderLayout());

leftPanel.add(leftNorth,BorderLayout.NORTH);

leftPanel.add(leftCenter,BorderLayout.CENTER);

leftPanel.add(new Label("请在年份输入框输入所查年份(负数表示公元前),并回车确

BorderLayout.SOUTH) ;

leftPanel.validate();

Container con=getContentPane();

JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,

leftPanel,rightPanel);

con.add(split,BorderLayout.CENTER);

con.validate();

hashtable=new Hashtable();

file=new File("日历记事本.txt");

if(!file.exists())

{

try{

FileOutputStream out=new FileOutputStream(file);

ObjectOutputStream objectOut=new ObjectOutputStream(out);

objectOut.writeObject(hashtable);

objectOut.close();

out.close();

}

catch(IOException e)

{

}

}

notepad=new NotePad(this);

rightPanel.add(notepad);

设置日历牌(year,month);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

setVisible(true);

setBounds(100,50,524,285);

validate();

}

public void 设置日历牌(int year,int month)

{

日历.set(year,month-1,1);

星期几=日历.get(Calendar.DAY_OF_WEEK)-1;

if(month==1||month==2||month==3||month==5||month==7

||month==8||month==10||month==12)

{ 排列号码(星期几,31);

}

else if(month==4||month==6||month==9||month==11)

{ 排列号码(星期几,30);

}

else if(month==2)

{ if((year%4==0&&year%100!=0)||(year%400==0))

{ 排列号码(星期几,29);

}

else

{ 排列号码(星期几,28);

}

}

}

public void 排列号码(int 星期几,int 月天数)

{

for(int i=星期几,n=1;i<星期几+月天数;i++)

{ showDay[i].setText(""+n);

if(n==day)

{ showDay[i].setForeground(Color.green);

showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20));

}

else

{ showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));

showDay[i].setForeground(Color.black);

}

if(i%7==6)

{ showDay[i].setForeground(Color.blue);

}

if(i%7==0)

{ showDay[i].setForeground(Color.red);

}

n++;

}

for(int i=0;i<星期几;i++)

{ showDay[i].setText("");

}

for(int i=星期几+月天数;i<42;i++)

{ showDay[i].setText("");

}

}

public int getYear()

{ return year;

}

public void setYear(int y)

{ year=y;

notepad.setYear(year);

}

public int getMonth()

{ return month;

}

public void setMonth(int m)

{ month=m;

notepad.setMonth(month);

}

public int getDay()

{ return day;

}

public void setDay(int d)

{ day=d;

notepad.setDay(day);

}

public Hashtable getHashtable()

{ return hashtable;

}

public File getFile()

{ return file;

}

public void mousePressed(MouseEvent e)

{ JTextField source=(JTextField)e.getSource();

try{

day=Integer.parseInt(source.getText());

notepad.setDay(day);

notepad.设置信息条(year,month,day);

notepad.设置文本区(null);

notepad.获取日志内容(year,month,day);

}

catch(Exception ee)

{

}

}

public void mouseClicked(MouseEvent e)

{

}

public void mouseReleased(MouseEvent e)

{

}

public void mouseEntered(MouseEvent e)

{

}

public void mouseExited(MouseEvent e)

{

}

public static void main(String args[])

{ Calendar calendar=Calendar.getInstance();

int y=calendar.get(Calendar.YEAR);

int m=calendar.get(Calendar.MONTH)+1;

int d=calendar.get(Calendar.DAY_OF_MONTH);

new CalendarPad(y,m,d);

}

}

记事本NotePad:

NotePad.java

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

import javax.swing.event.*;

import java.io.*;

public class NotePad extends JPanel implements ActionListener

{ JTextArea text;

JButton 保存日志,删除日志;

Hashtable table;

JLabel 信息条;

int year,month,day;

File file;

CalendarPad calendar;

public NotePad(CalendarPad calendar)

{

this.calendar=calendar;

year=calendar.getYear();

month=calendar.getMonth();

day=calendar.getDay();;

table=calendar.getHashtable();

file=calendar.getFile();

信息条=new JLabel(""+year+"年"+month+"月"+day+"日",JLabel.CENTER);

信息条.setFont(new Font("TimesRoman",Font.BOLD,16));

信息条.setForeground(Color.blue);

text=new JTextArea(10,10);

保存日志=new JButton("保存日志") ;

删除日志=new JButton("删除日志") ;

保存日志.addActionListener(this);

删除日志.addActionListener(this);

setLayout(new BorderLayout());

JPanel pSouth=new JPanel();

add(信息条,BorderLayout.NORTH);

pSouth.add(保存日志);

pSouth.add(删除日志);

add(pSouth,BorderLayout.SOUTH);

add(new JScrollPane(text),BorderLayout.CENTER);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==保存日志)

{ 保存日志(year,month,day);

}

else if(e.getSource()==删除日志)

{ 删除日志(year,month,day);

}

}

public void setYear(int year)

{ this.year=year;

}

public int getYear()

{ return year;

}

public void setMonth(int month)

{ this.month=month;

}

public int getMonth()

{ return month;

}

public void setDay(int day)

{ this.day=day;

}

public int getDay()

{ return day;

}

public void 设置信息条(int year,int month,int day)

{ 信息条.setText(""+year+"年"+month+"月"+day+"日"); }

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

用Java实现日历记事本

用Java实现日历记事本

信息与计算科学专业课程设计 用Java实现日历记事本

3. 实验内容 编程实现日历记事本。具体要求如下: (1)该日历可以通过在文本框中输入年份和月份设置日期,也可按年前后翻动,用鼠标左键单击“上年”和“下年”按钮,将当前日历的年份减一和加一。还可以在某年内按月前后翻动,用鼠标左键单击“上月”和“下月”按钮,将日历的月份减一和加一。 (2)左键单击日历上的日期,可以通过右侧的记事本(文本区)编辑有关日志,并将日志保存到一个文件,该文件的名字是由当前日期组成的字符序列。用户可以读取、删除某个日期的日志,也可以继续向某个日志添加新的内容。在保存、删除和读取日志时都会先弹出一个确认对话框,以确认保存、删除和读取操作。 (3)当某个日期有日志时,该日期以粗体16号字显示,表明这个日期有日志;当用户删除某个日期的日志后,该日期恢复原来的外观。

实现效果图(参考)如下: 提示:(1)组件调用public void setFont(Font f)方法可以设置组件上的字体,Font类的构造方法为:public Font(String name,int style,int size),其中name 是字体的名字,style决定字体的样式(如Font.BOLD 表示粗体)size决定字体的大小。(具体请参考JDK API) (2)当左键单击日历上的日期时,如要获取该日期,可通过处理该组件上的鼠标事件来实现。

4.实验步骤、实施过程、关键代码、实验结果及分析说明等 1.CalendarPad类 (1) 进行整体布局,建立日历记事本文件,设置日历卡,把日期按星期顺序排列,并用窗口监视器实现。 (2)用窗口监视器实现,结果如下: 2.Notepad类 (1)对日期的设置和获取,设置信息条,对文本框进行设置,保存日志、删除日志和读取日志按钮的事件实现。 (2)保存日志按钮事件实现如下:

java课程设计策画日历记事本

课程设计说明书 课程: Java程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日

《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

java课程设计 万年历 源代码

华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

Java日历记事本

NIIT -2综合训练 日历记事本 专业 计算机科学与技术 学生姓名 班级 学 号 指导教师 完成日期 信息工程学院

目录 一、综合训练的目的 (1) 二、综合训练的内容 (1) 三、综合训练的具体实现 (1) 四、综合训练的总结 (2) 附录:源程序清单 (3)

NIIT-2综合训练 一、综合训练的目的 (1) 进一步巩固所学的Java语言基础知识,达到熟练编写、运用的程度; (2) 锻炼自己的面向对象的程序设计思想,能够深刻认识面向过程与面向对象两种设计方法之间的区别; (3) 熟练掌握具体软件开发平台下(NetBeans)的动手能力,掌握Java应用程序设计的方法与技巧,实现从传统面向过程程序设计思维到面向对象程序设计思维的转型; (4) 初步了解MIS的概念与相关知识,具备独立设计、实现小型MIS系统的应用开发能力。 二、综合训练的内容 题目:日历记事本 三、综合训练的具体实现 1.设计内容 设计GUI界面的日历记事本。系统将日历,记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。 2.设计要求 1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。 2.该日历也可以在某年内按月前后翻动。鼠标单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮,当前日历表的月份加一。 3.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日历已有记录内容,并询问用户是否用记事本显示该内容。 4.用户选择具体日期后,可以将记事本的当前内容保存起来,形成日志。 3.总体设计 本日历记事本程序共有4个java源文件。 CalendarPad.java 该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。 Year.java 该文件负责创建管理年份的对象。 Momth.java 该文件负责创建管理月份的类对象。

java日历制作源代码

import java.util.Scanner; public class rili{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入年份,并回车:"); int year=in.nextInt(); System.out.println("请输入月份,并回车:"); int month=in.nextInt(); int sum=0; for(int i=1900;i

Java电子日历设计

Java程序设计 课程设计报告 设计题目:电子日历设计 班级: 学号: 姓名:

一、需求分析 设计并实现一个电子日历,当用户在下拉列表中选择年份后,显示某年各个月的日历。 二、概要设计 本程序要求实现在点击按钮以及在下拉菜单中进行点击选择时日历页面以及日期信息行能够正确显示当前选择的日期,所以在源程序中应该在点击按钮时产生ActionEvent事件,修改当前显示日期以及显示当月日历;在菜单中选择年份时能够产生ItemEvent事件,使得日历直接跳转到所选年份。 三、详细设计 源程序分为三部分,主程序部分 CalendarMainClass,日历实现部分CalendarClass, 页面实现部分 CalendarFrame。 主程序CalendarMainClass 声明并创建一个页面实现部分CalendarFrame类的对象,使用setBounds() 方法设置初始位置以及窗口大小;使用setTitle() 方法设置窗口标题;使用setLocationRelativeTo()方法设置窗口居中显示:使用setVisible()以及 setDefaultCloseOperation() 方法设置窗口可见和单

击窗体右上角的关闭图标后程序会做出怎样的处理。 日历实现部分 CalendarClass 首先创建一个长度为42的字符串数组,用来存放日期;其后判断所选 月份的长短,并存入数组中。 页面实现部分 CalendarFrame 窗口页面的布局设计如下:新建一个JPanel面板 panel,将其设置为BorderLayout布局,放置于窗口的NORTH区,将按钮上月previousMonth, 按钮下月nextMonth 放置在JPanel的对象pNorth中,并将菜单组件list 和pNorth分别放置在panel的NORTH区,SOUTH区;新建一个JPanel面板pCenter,将pCenter设置为7行7列的GridLayout布局,将星期组件和日 期组件添加入pCenture中,把pCenture添加入一个ScrollPane的对象scrollPane当中,将scrollPane放置在窗口的CENTER区;将日期信息组件showMessage 添加入JPanel的对象pSouth中,并将pSouth放置在窗口的 SOUTH区。 为按钮上月previousMonth,按钮下月nextMonth以及下拉菜单设置监 视器,重写public void actionPerformed(ActionEvent e),public void itemStateChanged(ItemEvent e)方法,使得在进行相应操作时能够产生相 应的时间。

java风景日历

风景日历制作系统 设计要求: 系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按月可以前后翻动;使用鼠标左键单击选定的日期,系统界面的右侧显示风景图片。在系统界面的右侧设计功能按钮使得用户可以自选其他风景图片。 import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.*; import java.util.Timer; import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; //这是一个用JList和JTable完成的简单日历 public class calender { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new CalendarFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } class CalendarFrame extends JFrame { private static final long serialVersionUID = 8067844586793608064L; JPanel listPanel; // 显示月份的列表面板 JPanel tablePanel; // 显示日期的表格面板 JPanel textPanel; // 文本面板 JMenuBar menuBar; // JMenuBar,JMenu定义的变量都没有实现功能 JMenu fileMenu; JMenu editMenu; JMenu formatMenu; JMenu lookMenu;

JAVA日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord;

JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i

Java万年历课程设计报告

Java课程设计 设计题目:万年历 系别:计算机科学与工程学院 专业:信息管理与信息系统 学号: 1100340116 姓名:岑少兵 指导教师:汪华澄 时间: 2013-6-29

目录 摘要 (3) 系统功能结构图 (3) 1 系统模块设计 (4) 1.1 需求设计 (4) 1.2 开发和运行环境 (4) 1.3 功能设计 (4) 2 万年历详细设计思路 (4) 2.1 程序设计思路 (5) 2.2 程序运行主界面 (5) 2.3 流程图 (6) 3 各模块功能实现及代码说明 (6) 3.1 MainFramel类 (6) 3.2 Lunar类 (14) 3.3 national类 (22) 3.4 SetClock类 (26) 4 小结 (34) 5 参考文献 (34)

基于Myeclipse的万年历 摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。 系统功能结构图:主要描述系统要实现的各个模块的功能。

1系统模块设计 1.1需求分析 本程序的要求为:1.使用图形用户界面 2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间 5.能够添加闹钟 1.2 开发和运行环境 开发工具:Myeclipse 运行环境: windows 7 1.3功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过 (2)提供年份、月份的下拉形式菜单来选择年份和月份。 (3)通过Lunar类实现农历日期。 (4)通过national类实现世界时间。 (5)能以月历形式显示日期与星期。 (6)通过SetClock类来实现闹钟功能。 (7)通过点击世界时间按钮查询世界时间 (8)通过点击闹钟按钮设置闹钟 (9)显示系统当前时间和日期。 (10)显示作者信息。 2万年历详细设计思路 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,

日历源代码——java

日历源代码——java //import java.sql.Date; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; public class GregorianCalendar日历 { public static void main(String[] args) { //设置不同地区 Locale.setDefault(https://www.sodocs.net/doc/aa17906908.html,); //创建当前日历对象 GregorianCalendar now = new GregorianCalendar(); //从当前时期对象是取出时间日期对象 //编辑错误:Type mismatch: cannot convert from java.util.Date to java.sql.Date Date date = now.getTime(); //将时间日期对象按字符形式打印 System.out.println(date.toString()); //重新将时间对象设置到日期对象中 now.setTime(date); //从当前日期对象是取出当前月份、日期 int today = now.get(Calendar.DAY_OF_MONTH); int month = now.get(Calendar.MONTH); //获取本月开始日期 now.set(Calendar.DAY_OF_MONTH, 1); //获取本月开始日期在一周中的编号 int week = now.get(Calendar.DAY_OF_WEEK); //打印日历头并换行设置当前月中第一天的开始位置

java课程设计_简单日历程序

课程设计题目 2. 题目说明 通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。 3. 系统设计 2.1 设计目标 一个完整的程序应具有以下功能: 1)显示当月日历、当前日期、当前时间; 2)可查寻任意月以及任意年的日历; 3)使用图形化界面能够弹出对话框; 5)正常退出程序。 2.2 设计思想 设计一个类用来构成日历系统的主窗口,然后编写一个框架类显示时间和提示信息。在设计中应用了多种容器和控件。 2.3 系统模块划分 图1:简易日历的程序结构图

2.3.1初始化: public void init()完成界面初始化,形成一个以挂历形式显示当前日期的窗口。 2.3.2 日历描述: (1)public void updateView()改变日期后完成更新界面; (2)抽象类java.util.Calendar获取系统日期并传递日期数据而且在人工改变日期后得出当天是周几; (3)public static void main(String[] args) 主函数完成系统各算法的调用并对主窗口的一些属性进行设置; 2.3.3 滚动时间: 将时间以文本的形式在文本框中滚动播出,并能改变滚动的速度。 4. 使用类及接口 仅仅简单说明类的功能,详细资料请参看《JavaTM 2 Platform Standard Ed. 6》的电子文档,常规的接口与包则省略不屑。 //以下是日历程序块中使用的类 package fancy; import java.awt.*; import java.awt.event.*; import java.util.*; //主要用此包中的日期和时间类 import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; //以下是对滚动时间程序块所使用的类和接口, 用到定时器类Timer

Java万年历源代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; publicclass wannianli extends Jframe//窗体类implements ActionListener,//事件处理接口MouseListener { private Calendar cld = Calendar.getInstance();//获取一个Calendar类的实例对象 private String[] astr = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; //JPanel是Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等private DefaultTableModel dtm = new DefaultTableModel(null, astr);//创建了一个表格模型 private JTable table = new JTable(dtm); private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年

java课程设计万年历程序设计报告

山东科技大学 信息学院 JAVA程序设计 学院:信息科学与工程学院 班级:计算机11-3 学号:201101050230

姓名:赵乐

目录 目录 (1) 前言 (1) 1需求分析 (2) 2.概要设计 (3) 3.各模块的功能及程序说明 (5) 4.测试分析 (13) 5.源程序清单 (13) 6.课程设计体会 (22) 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java 支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java 的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。

(完整word版)小日历-JAVA课程设计实验报告

软件学院 课程设计报告书 课程名称 设计题目 专业班级 学号 姓名 指导教师 年月

目录 JAVA日历设计 (3) 1.设计目标 (3) 2.设计要求 (3) 3.制作要点: (3) 4.设计思想 (3) 5.设计类及对象设计 (4) 6.代码分析 (4) 6.程序源代码 (10) 7.调试记录 (15) 8.总结 (16) 9.参考文献 (17)

JAVA日历设计 1.设计目标 本课程设计实现一个日历的功能,可显示当前的年,月,日和星期.也可以查询,选择年,月后,显示当时的日历. 2.设计要求 (1)界面是日历。该日历可以按年前后翻动,当鼠标单击“上一年”按钮时,当前日历的年份将减一;当鼠标左键单击“下年”按钮,当前日历的年份将加一。 (2)也可以在某年内按月前后翻动。当鼠标左键单击“上月”按钮时,当前日历的月份将减一;当鼠标左键单击“下月” 当前日历表的月份将加一。 (3)使用鼠标左键在要选择的日期上单击,变颜色. 3.制作要点: (1).AWT与Swing的使用. (2)应用JApplet生成界面. 4.设计思想 (1)本小日历设计主体结构为:设计一个框架MainFrame,然后在MainFrame里添加一个MainPanel面板。定义一个MainPanel面板类,该面板以边布局格式,所有其他面板、标签等均添加到该面板中。 (2)MainPanel面板北部(上方),添加一个年月面板YearMonthPanel。该年月面板主要放年份显示、月份显示、标题显示。YearMonthPanel面板也使用边布局格式,西部添加一个年份面板,放年份信息;中部添加一个TextPanel面板,放标题文本显示信息;东部添加一个月份面板MonthPanel,放月份下拉框信息。

小日历-JAVA课程设计实验报告

湖南农业大学JAVA课程设计报告 JAV A小日历组件 学生姓名:杨姣姣 学号:200741841210 年级专业:07级电子商务2班 指导老师:王明宇 学院:信息科学技术学院 湖南·长沙 提交日期:2009年11月

目录 1.设计目标 (3) 2.设计思想 (3) 3.类及对象设计 (3) 4.程序源代码 (4) 5.调试记录 (14) 6.总结 (15) 7.参考文献 (17) 8.致谢 (17)

JA V A小日历组件设计 1.设计目标 本课程设计是一个JA VA小日历组件的设计,利用Frame框架类、面板类进行图形化界面设计,实现小日历的公历显示等功能。 2.设计思想 (1)本小日历设计主体结构为:设计一个框架MainFrame,然后在MainFrame里添加一个MainPanel面板。定义一个MainPanel面板类,该面板以边布局格式,所有其他面板、标签等均添加到该面板中。 (2)MainPanel面板北部(上方),添加一个年月面板YearMonthPanel。该年月面板主要放年份显示、月份显示、标题显示。YearMonthPanel面板也使用边布局格式,西部添加一个年份面板,放年份信息;中部添加一个TextPanel面板,放标题文本显示信息;东部添加一个月份面板MonthPanel,放月份下拉框信息。 (3)MainPanel主面板的中部,添加一个DaysPanel面板用于放置月份的天数表格信息。 (4)MainPanel主面板的南部(下方),添加一个InfoPanel面板,主要用于放置显示个人信息。 (5)InfoPanel面板上设计添加一个超级链接标签,链接到个人博客。 3.设计类及对象设计 在本程序中:定义了一个Frame类,主要定义一个窗体框架,用于显示日历信息,并在主函数中只创建一个该窗体对象实现程序功能。 定义了一个主日历面板类Xiaorili,其中包含了日历设计所用到的全局变量、功能函数等,在Frame类里定义了其对象。在该日历面板类里又设计了一个内部类CalendarTable表格类,用于布局日历天的显示格式。 为了设计一个超级链接,定义了一个LinkLable类,单独保存在一个文件LinkTbale.java中,在日历面板类Xiaorili里定义了其对象。

JAVA简单日历制作

JAVA简单日历制作 package 简单日历; import java.util.*; public class 简单日历{ public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.println("请输入年份:"); int year=in.nextInt(); System.out.println("请输入月份:"); int month=in.nextInt(); int sum=0; for(int i=1900;i

用Java实现日历记事本源代码2660【新版】

CalendarPad类 import java.util.Calendar; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.Hashtable; public class CalendarPad extends JFrame implements MouseListener { int year,month,day; Hashtable hashtable; File file; JTextField showDay[]; JLabel title[]; Calendar 日历; int 星期几; NotePad notepad=null; Month 负责改变月; Year 负责改变年; String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; JPanel leftPanel,rightPanel; public CalendarPad(int year,int month,int day) { leftPanel=new JPanel(); JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7)); rightPanel=new JPanel(); this.year=year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Month(this); 负责改变月.setMonth(month); title=new JLabel[7]; showDay=new JTextField[42]; for(int j=0;j<7;j++) { title[j]=new JLabel(); title[j].setText(星期[j]); title[j].setBorder(BorderFactory.createRaisedBevelBorder());

java课程设计_简单日历程序

湖南第一师范学院信息科学与工程系 课程设计报告 题目JA V A简易时间日历程序 学生姓名邹跃玲 学号0307307016 专业班级07计算机应用技术一班 指导教师伍智平 2009 年12 月18 日

目录 1. 课程设计任务书……………………………………第 2页 2. 题目说明……………………………………………第 4页 3. 系统设计……………………………………………第 4页 4. 类及接口描述………………………………………第 5页 5. 运行结果……………………………………………第 7页 6. 程序源代码…………………………………………第 8页 7. 总结 (17) 8. 参考文献 (18)

2007级计算机应用专业《Java课程设计》 安排计划书 指导老师:伍智平指导方式:集体辅导、分组讨论研究 一、课程设计教学目的及基本要求 1、培养独立的Java语言与算法设计方法,具备初步的独立分析和设计能力; 2、学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和 技能; 3、训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力; 4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所 应具备的科学的工作方法和作风。 5、设计的题目要求达到一定工作量,程序能够运行,并对标准的测试数据有 正确的输出结果。 6、按《湖南第一师范学院信息科学与工程系课程设计报告写作规范》要求的 书写格式编写出课程设计报告书,报告书不少于8页(代码不算)。 二、计划安排 1、任务书下达时间:第15周 2、任务讲解与动员:第15周 3、任务设计与辅导: 辅导教师:伍智平 辅导形式:以学生自行设计为主,教师现场解答学生疑难问题。 纪律要求:上课前学生签到,课后学习委员交名单给老师。 4、完成时间:第16周星期四 三、课程设计课题与安排 每位学生在下面列出的设计题目中选择其中的一个独立完成: 课题详细要求:参见教材13.2节《课程设计的要求和选题》(P408~413)

相关主题