记事本-java程序设计方案报告_第1页
记事本-java程序设计方案报告_第2页
记事本-java程序设计方案报告_第3页
记事本-java程序设计方案报告_第4页
记事本-java程序设计方案报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、lovc穆序设计W s 吿 工程:日历记事本 学号:10570235 姓名:常兆华 班级:计算机2班 专业: 计算机科学与技术 分数: 角色 姓名 学号 任务分配 小组评定 组长 王思琪 10570226 强制练习工具 组员 常兆华 10570235 日历记事本 隋欣 10570219 日历记事本 杨海饪 10570232 小游戏 关乐 10570231 小游戏 王冕卿 10570223 Atm取款机系统 项目说明 第一部分、工程整体概述3 页 第二部分、我的任务5 页 第三部分、代码和详细注释6 页 14页 第四部分、心得体会 第一部分、工程整体概述 日历记事本带有日程提醒功能的日历。 2.

2、 显示信息: 用户可以看到这个月的信息,包括年份、日期等。 点击翻页按钮可以査询前一个月的日期,也可以向后翻页査询下一个月的日期。同样,可 以根据年份查询不同年份的日期。 日期的显示有一些优化,用户不仅可以查询到本月份的信息,还可以根据上个月与下个月 的日期填充来方便查询日期和星期。 3. 定时提醒: 用户可以针对某一天来添加、删除和编借这一天的日程提醒信息 当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。 4.査询信息:用户可以查询到某个月的所有的提示信息。 日历记事本共有4个java源文件。 CalendarPad. java 该java文件生成的类负责创建本日历记事本程序主窗口。

3、该类含有main方法, 程序从该类开始执行。 Year, java 该文件负责创建管理年份的对象。 Month, java 该文件负责创建管理月份的类对象。 NotePad. java 该文件负责创建记事本。 截图: 初始界面 可输入年份查看相应的日历与记事本 上年 1992| 2 |上月|42下月 佃92年42月48日 星期日 星Ml 星靭二 星期三 星朗C3 星期五 星缈六 29 301 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 B 3 i 5_ ? 2 9 H 保存日

4、志期除日志 清左年份爲入框珞入莎亘帑份按回车确定员教为公元前 第二部分、我的任务 具体任务: 资料查找,汇总及需求分析,负责日历的编写,和板块的布局 输出等。 编写大致思路: 我主要负责这个工程中日历的编写和输出显示的一部分。 经过调查自己电脑中的日历记事本和大家纸质的日历记事本,我知道若想完 整地显示一个月的信息至少需要一个首先需要一个7*7的网格,要用到 GridLayout网格设置语言。其中每一列的顶层可以称它为title “标题”,也 就是显示“星期儿”,表头显示这个月所在的年份与月份。随后对日期进行编 号,判断闰平年、大小月等必要的程序。为了能使用户查找到前一年、下一 年,上一月、下

5、一月的内容,还需要设置按钮,让成员变量实现其更改。 总体规划: 主类 CanlendarPad 1成员变量 成员变量描述 变量类型 名称 年、月.日 int year, month, day 保存日志的散列表 Hanshtable hanshtable 存放散列表的文件 File file 显示日期 JtextFileE showDay 日历对象 Calendar 日历 记事本对象 NotePad notepad 月 Month 负责改变月 年 Year 负责改变年 2方法 名称 功能 备注 CalendarPad 创建窗口主程序 构造方法 设置日历牌 设宜日立的年份.月份 排列号码 排列月份

6、中的号码 mousePressed 处理MouseEvent事件 接口方法 main 程序开始运行 第三部分、源代码及详细注 zi-r CalendarPad import j ava util. Calendar o /写的Calcnddl 炎 J IT 2 人 g 个包卜的所有头 publicclassCalendarPadextends JFrame implements MouseListener 定义CalendarPad类继承JFrame 父类的属性 MouscLisicnci hH小丁;i听 intyear, month, dayc / /定义年丿寸 I I HashtabUas

7、htablj/ / /1J來保1?丨丨志1勺散列呛希 File fileo/存在哈希农中的文件 JTextField showDay o /彳;上天是7X7的个小格/单兀 JLabel title o/用来创建I历牌中的农格属性“星期几” Calendar日历。定义仏I历” )i法是calendar int星期几。/整形定义“星期几”方法 NotePad notepad=null c , /丨丨记本乂寸级,初仇 为空 Month负贵改变月。/定义“负责改变月”方法 Year负贵改变年。/定义“负资改变年”方法 String星期 = *星期H”,星期”,星期二”,”星期三”,星期四”,星期五”,

8、”星 期六” 。 JPanel leftPanel, rightPanelo /界ifli设计,左边址丨丨历,右 血为记寸匚木 public CalendarPad (i nt ysri nt month, i nt day) / / ZiiCalendarPad;(. 年月日 getContentPane()setBackground(new Color(255, 228, 225)o / 初怕i 化个容器,设置颜色值为255, ,228,225) setBackground (new Color (255, 250, 250) ) o /颜色i殳置 setFont (new Font (微

9、软雅黑,Font .BOLD, 12)。 / / ? IjCtl setForeground(new Color(70, 130, 180)o setTitle(HH)o leftPanel=new JPanel ()o /传入一个布怖对象作为参数来创建左边的而號 JPanel leftCenter=new JPanel()o JPanel leftNorth=new JPanel()o leftcenter smtLayout (new GridLayout (7Z 7) ) o /i*4 I I,为7*7的网 格,参数说明(行数,列数) right Pane l=new JPanel ()

10、。 / / 设置i 侧 iftl 板 this 丫“工二丫“工。 this month=montho this day=dayo 负责改变年=new Year (this) o Font .BOLD. 12)。 /设置/丁 木 负贵改变年.setFont (new Font (”微软雅黑, 负 贵改变年 set Fore ground (new Color (65, 105, 225) ) o / ix hl |j:J 胶色 负责改变年.setYear (year) /调用方法 负贵改变月=new Month (this)。 负责改变月setFont (new Font (H微软雅黑”,Fon

11、t. BOLD, 12) ) /设貿7体 负扌f 改变月 setForeground (new Color (65, 105, 225) ) o /设置I前景色 负责改变月.setMonth (month) o /调用方法 title=new JLabel7o / * *t期儿”标题,仃7 个 showDay=new JTextField 42 o /显示日期的文件仃42个(对应4 2个网格) for (int j=0o j7o j+) /标题的写入,周 LI到周 titlej=new JLabel()。 title j . setText (星期j )。 title j setBorder

12、(Border Fact or y omoe丄()。 /创住边 框 leftcenter add(titlej)。 title 0 setForeground (Color red) o / 设丫勺.席11 i 纟色 title 6 setForeground (Color blue) o / / 设 77片査色 for (int i=0 i42。i + + ) 1丨期入 showDayi=new JTextField()。 showDayi addMouseListener(this)。 showDayi setEditable(false)。 leftcenter add (shovrDa

13、y i ) o |zlHj=Calendar getzTcstwRoe ()。 / / 分丿f分冷勺金询 Box box=Box oreateHorlzontalBox)。 box. add (负责改变年)。 box. add (负责改变月) leftNorth add(box)o leftPanel setLayout(new BorderLayout()o lef tPanel add (lef tNorth, Border Layout NORTH) o /_(. h jJ Vr leftPanel add(leftcenter,BorderLayout CENTER)。 / / 中 t

14、j Label label = new Label (请在年份输入框输入所査年份,按回车确定。负数为 公元前”)O label setBackground(UIManager getColor(ScrollBar foreground) ) o / / 体设置 labelsmtFon匕(new Fon匕(黑体,Font BOLD, 13) ) o labelsmtFo工aground(new Color(204, 0z 0) ) o leftPanel add(label, Border Layout .SOUTH) o / / 卜力的也界 leftPanel validate()o Cont

15、ainer con=ge*t Con tent Pane ()。 JSplitPane split=new JSplitPane (JSplitPane HORHZONTA:L_SPL, leftPanel,rightPanel)。 con add(split,BorderLayout CENTER) con validate()。 ()。/ / 切始化哈希 *= 0o i )/将上个月部分日期放入单元格 showDayisetForeground(Color夕o showDayisetText(date + H) o date -o int flag = 1。/将下个月部分日期放入单元格 f

16、or (int i=星期儿+月天数。i42o i+) showDay i setForeground (Color 。 showDayi setText(String valueOf(flag) ) flag += piiblicint getYear () returnyearo piiblicvoid setYear (int y) year=yo notepad setYear(year)。 piiblicint getMonth () returnmonthc piiblicvoid setMonth (int m) month=mc notepad setMonth(month)o

17、piiblicint getDay () returndayc piiblicvoid setDay (int d) day=do notepadsmtDay(day)。 publicHashtablm getHashtable() returnhashtableo public File getFile() returnfileo piiblicvoid mousePressed (MouseEvent e) JTextField source=(JTextField)e getSource()。 try day=Integer parselnt (source () ) o notepad

18、setDay(day)。 notepad 设置信息条(year, month, day)。 notepad设置文本区(null) o notepad扌犬取 Id,忐内?筝(ymar,month, day) o catch(Exception ee) piiblicvoid mouseClicked(MouseEvent e) piiblicvoid mouseReleased(MouseEvent e) piiblicvoid mouseEntered(MouseEvent e) piiblicvoid mouseExited(MouseEvent publicstaticvoid main(

19、String args) Calendar calendar=Calendar get Instance()。 int工 get (Calendar YEAR)。 int工 get (Calendar MOMTH) +1 。 int d=calendar (Calendar DAYOFMONTH) o ne z m, d) o YEAR: import j avax swing * o import j ava awt * c import j ava awt event * publicclassYearextends Box implements ActionListener intyea

20、ro intmonthc JTextField showYear=nullo JButton明年,去年。 CalendarPad 日历。 public Year (CalendarPad 日历) super(BoxLayout X-AXIS)。 showYear=new JTextField(4)o showYear smtBaokg工ound(new Color (230, 230, 250)o showYear SEtFormg工ound(new Color (255, 20, 147)。 showYear setFont(new Font(TimesRomn,Font BOLD,14)o

21、 this. H历=日历。 year=日历.getYear () o 明年=new JButton (n F年)。 明年 SEtFoMEground (new Color (0, 139, 139) ) o 明年.setFont (new Font (H 微软雅黑,Font .BOLD, 13)。 去年二new JButton (上年)o 去年.setFont (new Fon七(微软雅黑, Font .BOLD, 13)。 去彳卩SEtFozEground(new Color (0, 139, 139)。 add (去年)。 add(showYear)o add (明年)。 showYear

22、 addActionListener(this)。 去年 addActionListener (this) o 明年 addActionListener (this) o publicvoid seCYear(int year) this 丫“工二丫“工。 showYear setText(+year)。 piiblicint getYear () returnyearc piiblicvoid actionPerformed (ActionEvent e) if (e getSource ()=去勺二) year=year-lo showYear setText(n+year)。 日) setY

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论