ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:216.72KB ,
资源ID:8509424      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8509424.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计日历记事本.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课程设计日历记事本.docx

1、java课程设计日历记事本题 目 日历记事本 起讫日期 2009年 12月28日至2010 年1月11日 所在院系 软件学院 学生姓名 xxxx 专 业xxxxx学 号 xxxx 指导教师 职 称 讲 师 所在单位 软件学院 2010年 1月 11日一总体设计1类之间的关系如图1-1所示。图1-1 类之间的关系2java源文件及其功能如表1-1所示。表1-1 java源文件及其功能序号文件名主要功能备注1CalendarPad.java创建实用万年历记事本程序的主窗口含有main方法2NotePad.java该文件负责创建记事本3Year.java该文件负责创建管理年份的对象4Month.ja

2、va该文件负责创建管理月份的类对象二详细设计1主类CalendarPad(1)成员变量见表1-2表1-2 主要成员变量(属性)成员变量描述变量类型名称年、月、日IntYear,month,day显示日期JTextFieldshowDay日历对象CalendarPad日历记事本对象NotePadnotepad月Month负责改变月年year负责改变年打印对象PrintJobp图形对象Graphicsg保存日志的散列表Hashtablehashtable存放散列表的文件Filefile(2)方法见表1-3表1-3 主要方法方法名功能备注CalendarPad创建程序主窗口构造方法设置日历牌设置日历

3、的年份和月份排列号码排列月份中的号码mousePressed处理MouseEvent事件actionPerformed处理ActionEvent事件接口方法main程序开始运行(3)源代码见文件CalendarPad.javaimport java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hashtable;import java.lang.String.*;public class CalendarPad ext

4、ends JFrame implements MouseListener,ActionListener int year,month,day; Hashtable hashtable; File file; JTextField showDay; JLabel title; Calendar 日历; int 星期几; NotePad notepad=null; PrintJob p=null; /声明一个PrintJob对象。 Graphics g=null; Month 负责改变月; Year 负责改变年; String 星期=星期日,星期一,星期二,星期三,星期四,星期五,星期六; JPa

5、nel leftPanel,rightPanel; JButton print=new JButton(打印窗口); JButton mm=new JButton(打印日志); 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=

6、year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Month(this); 负责改变月.setMonth(month); JPanel panel1=new JPanel(); panel1.add(print); panel1.add(mm); title=new JLabel7; showDay=new JTextField42; for(int j=0;j7;j+) titlej=new JLabel(); titlej.setText(星期j); titl

7、ej.setBorder(BorderFactory.createRaisedBevelBorder(); leftCenter.add(titlej); title0.setForeground(Color.red); title6.setForeground(Color.blue); for(int i=0;i42;i+) showDayi=new JTextField(); showDayi.addMouseListener(this); showDayi.setEditable(false); leftCenter.add(showDayi); 日历=Calendar.getInsta

8、nce(); 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(panel1,BorderLayout.SOUTH); leftPanel.validate(); Container

9、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

10、 objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); objectOut.close(); out.close(); catch(IOException e) notepad=new NotePad(this); rightPanel.add(notepad); print.addActionListener(this); mm.addActionListener(this); 设置日历牌(year,month); addWindowListener(new WindowAdapter() publi

11、c void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,524,285); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=print) p=getToolkit().getPrintJob(this,ok,null); g=p.getGraphics(); g.translate(60,200); this.printAll(g); g.dispose(); p.end();

12、 else if(e.getSource()=mm) p=getToolkit().getPrintJob(this,ok,null); g=p.getGraphics(); g.translate(120,200); notepad.text.printAll(g); g.dispose(); p.end(); 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 |

13、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+) showDayi.setText(+n); if(n=day) showDayi.setForegr

14、ound(Color.green); showDayi.setFont(new Font(TimesRoman,Font.BOLD,20); else showDayi.setFont(new Font(TimesRoman,Font.BOLD,12); showDayi.setForeground(Color.black); if(i%7=6) showDayi.setForeground(Color.blue); if(i%7=0) showDayi.setForeground(Color.red); n+; for(int i=0;i星期几;i+) showDayi.setText();

15、 for(int i=星期几+月天数;i42;i+) showDayi.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

16、; 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.设置文本区

17、(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

18、=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(1)成员变量见表1-4表1-4 主要成员变量(属性)成员变量描述变量类型名称文本输入区JTextAreaText 保存、删除日志的按钮Button保存日志,删除日志保存日志的散列表Hashtabletable保存散列表的文件Filefile 记录日志的年、月、日int学生(2)方法见表1-5表1-5 主要

19、方法方法名功能备注NotePad创建记事本对象构造方法setYear设置年份getYear获取年份setMonth设置月份(3)源代码见文件ScoreSituation.java3年Year(1)成员变量见表1-6表1-6 主要成员变量(属性)成员变量描述变量类型名称表示年份的整数Int学生成绩表显示年份的文本条JTextFieldShowYear负责增减年份的按钮JButton明年,去年(2)方法见表1-7表1-7 主要方法方法名功能备注Year创建查询界面构造方法actionPerformed处理ActionEvent事件接口方法setYear设置年份getYear获取年份(3)源代码见文

20、件Year.java4月Month(1)成员变量见表1-8表1-8 主要成员变量(属性)成员变量描述变量类型名称表示月份的整数Intmonth显示月份的文本条JTextFieldshowMonth负责增减月份的按钮JButton下月,上月(2)方法见表9表9 主要方法方法名功能备注Month创建“月”对象构造方法setMonth设置月份getMonth获取月份actionPerformed处理ActionEvent事件接口方法(3)源代码见文件Month.java三运行效果1使用eclipse软件运行该系统后,即可进入日历记事本程序的主窗口,绿色较大号的字体为当日日期。如图1-2所示。图1-2

21、 系统主窗口 2通过点击“上年”“下年”“上月”“下月”可以选择查看往年日期,如图查看2007年12月的日历,单击“上年”,并5次点击“上月”如图1-3所示。图1-3 查看2007年12月的日历 3除了能方便的查询日历功能,还可以记录当天日志。回到当天的窗口,例如在记事本中添加文本“妈妈的生日”并保存,界面如图1-4所示。图1-4 添加文本界面 4点击“是(Y)”,保存日志,当日期再度回到5月6日,会出现提示对话框。单击是,可以看到当天日志。单击是可看到如图1-5,1-6所示:图1-5 查看日志界面图1-6 查看日志界面5用户可以使用该程序的打印功能来实现对日历界面的外部显示。用户可以有选择地

22、打印整个界面或只打印日志图1-7打印界面四工作总结Java课程设计很快就结束了,这让我过得很充实,获益非浅,从了解与学习所需要的知识开始,我便一步一个脚印、踏踏实实地设计 ,一点点的完成我的课程设计。这次课程设计的主要目的是学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程,以及进一步熟悉掌握Java程序设计语言的基础内容,提高Java编程技术以及分析解决问题的综合能力。通过这次课程设计,我基本掌握了以上要求。由于专业知识有限,以及动手能力的欠缺,所以开发的系统不是很完善,有一些功能未实现,但是万年历记事本的基本功能均已实现。以前对Java语言的很多知识认识都不深刻,做过这次实训之后,我对Java语言的开发有了一个比较系统的了解;比如:散列表应用,用户图形界面设计等的运用已经比较熟练。这个课程设计使我巩固了Java语言的知识,对于Eclipse开发工具也有了一定的了解。由于是第一次进行Java语言开发,所以不足之处不可避免。本系统的统计功能还不够强大,较万年历程序还有不足之处。比如查看所有保存的日志,添加农历等功能尚未实现,将在以后的时间,继续完善。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1