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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

记事本java程序设计报告.docx

1、记事本java程序设计报告 20122013学年度第1学期Java程序设计课程报 告项目: 日历记事本 专业: 计算机科学与技术 学号: 10570235 姓名: 常兆华 班级: 计算机2班 分数: 角色姓名学号任务分配小组评定组长王思琪强制练习工具组员常兆华10570235 日历记事本隋欣日历记事本杨海钰小游戏关乐小游戏王冕卿Atm取款机系统项 目 说 明第一部分、项目整体概述3页第二部分、我的任务5页第三部分、代码和详细注释6页第四部分、心得体会14页第一部分、项目整体概述 日历记事本-带有日程提醒功能的日历。 2.显示信息: 用户可以看到这个月的信息,包括年份、日期等。 点击翻页按钮可以

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

3、Month.java该文件负责创建管理月份的类对象。NotePad.java该文件负责创建记事本。截图: 初始界面可输入年份查看相应的日历与记事本第二部分、我的任务具体任务: 资料查找,汇总及需求分析,负责日历的编写,和板块的布局输出等。 编写大致思路: 我主要负责这个项目中日历的编写和输出显示的一部分。 经过调查自己电脑中的日历记事本和大家纸质的日历记事本,我知道若想完整地显示一个月的信息至少需要一个首先需要一个7*7的网格,要用到 GridLayout网格设置语言。其中每一列的顶层可以称它为title“标题”,也就是显示“星期几”,表头显示这个月所在的年份与月份。随后对日期进行编号,判断闰

4、平年、大小月等必要的程序。为了能使用户查找到前一年、下一年,上一月、下一月的内容,还需要设置按钮,让成员变量实现其更改。总体规划: 主类CanlendarPad1.成员变量成员变量描述变量类型 名称年、月、日intyear,month,day保存日志的散列表Hanshtablehanshtable存放散列表的文件Filefile显示日期JtextFileshowDay日历对象Calendar日历记事本对象NotePadnotepad月Month负责改变月年Year负责改变年2.方法名称功能备注 CalendarPad创建窗口主程序构造方法设置日历牌设置日立的年份、月份排列号码排列月份中的号码m

5、ousePressed处理MouseEvent事件接口方法main程序开始运行第三部分、源代码及详细注释: CalendarPadimport java.util.Calendar; /写的Calendar类里面导入这个包下的所有类库public class CalendarPad extends JFrame implements MouseListener /定义CalendarPad类继承JFrame 父类的属性 MouseListener鼠标监听 int year,month,day;/定义年月日 Hashtable hashtable; /用来保存日志的散列哈希表 File file

6、; /存在哈希表中的文件 JTextField showDay; /每天是7X7的一个小格子单元 JLabel title; /用来创建日历牌中的表格属性“星期几” Calendar 日历;/定义“日历”方法是calendar int 星期几; /整形定义“星期几”方法 NotePad notepad=null; /日记本对象,初值为空 Month 负责改变月;/定义“负责改变月”方法 Year 负责改变年;/定义“负责改变年”方法 String 星期=星期日,星期一,星期二,星期三,星期四,星期五,星期六; JPanel leftPanel,rightPanel; /界面设计,左边是日历,右

7、面为记事本 public CalendarPad(int year,int month,int day)/在CalendarPad类中定义年月日 getContentPane().setBackground(new Color(255, 228, 225);/初始化一个容器,设置颜色值为(255,,228,225) setBackground(new Color(255, 250, 250);/颜色设置 setFont(new Font(微软雅黑, Font.BOLD, 12);/字体设置 setForeground(new Color(70, 130, 180); setTitle(); l

8、eftPanel=new JPanel();/传入一个布局对象作为参数来创建左边的面板 JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7); /设置窗口,为7*7的网格,参数说明(行数,列数) rightPanel=new JPanel();/设置右侧面板 this.year=year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setFont(new Font(

9、微软雅黑, Font.BOLD, 12);/设置字体 负责改变年.setForeground(new Color(65, 105, 225);/设置前景色 负责改变年.setYear(year);/调用方法 负责改变月=new Month(this); 负责改变月.setFont(new Font(微软雅黑, Font.BOLD, 12);/设置字体 负责改变月.setForeground(new Color(65, 105, 225);/设置前景色 负责改变月.setMonth(month);/调用方法 title=new JLabel7;/“星期几”标题,有7个 showDay=new J

10、TextField42; /显示日期的文件有42个(对应42个网格) for(int j=0;j7;j+) /标题的写入,周日到周一 titlej=new JLabel(); titlej.setText(星期j); titlej.setBorder(BorderFactory.createRaisedBevelBorder();/创建边框 leftCenter.add(titlej); title0.setForeground(Color.red);/设置周日为红色 title6.setForeground(Color.blue);/设置周六为蓝色 for(int i=0;i42;i+) /

11、日期写入 showDayi=new JTextField(); showDayi.addMouseListener(this); showDayi.setEditable(false); leftCenter.add(showDayi); 日历=Calendar.getInstance();/年份月份的查询 Box box=Box.createHorizontalBox(); box.add(负责改变年); box.add(负责改变月); leftNorth.add(box); leftPanel.setLayout(new BorderLayout(); leftPanel.add(left

12、North,BorderLayout.NORTH);/上方的边界 leftPanel.add(leftCenter,BorderLayout.CENTER);/中间 Label label = new Label(请在年份输入框输入所查年份,按回车确定。负数为公元前); label.setBackground(UIManager.getColor(ScrollBar.foreground);/具体设置 label.setFont(new Font(黑体, Font.BOLD, 13); label.setForeground(new Color(204, 0, 0); leftPanel.ad

13、d(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(!fil

14、e.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); /调用notepad的数据 rightPanel.add(notepad); 设置日历牌(year,month

15、); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,612,320); validate(); public void 设置日历牌(int year,int month) 日历.set(year,month-1,1); / Calendar是JAVA默认的类,set(年,月,日)格式,月份是从0开始计为1月,以此类推。故设置月份参数为month-1 星期几=日历.get(Cal

16、endar.DAY_OF_WEEK)-1;/规定格式,得到此日为星期几 if(month=1|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

17、月天数) for(int i=星期几,n=1;i= 0;i-)/将上个月部分日期放入单元格 showDayi.setForeground(Color.gray); showDayi.setText(date + ); date -; int flag = 1;/将下个月部分日期放入单元格 for(int i=星期几+月天数;i42;i+) showDayi.setForeground(Color.gray); showDayi.setText(String.valueOf(flag); flag +; public int getYear() return year; public void

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

19、) 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(MouseEve

20、nt 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(Calend

21、ar.DAY_OF_MONTH); new CalendarPad(y,m,d); YEAR:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Year extends Box implements ActionListener int year; int month; JTextField showYear=null; JButton 明年,去年; CalendarPad 日历; public Year(CalendarPad 日历) super(BoxLayout.X_AXIS); sho

22、wYear=new JTextField(4); showYear.setBackground(new Color(230, 230, 250); showYear.setForeground(new Color(255, 20, 147); showYear.setFont(new Font(TimesRomn,Font.BOLD,14); this.日历=日历; year=日历.getYear(); 明年=new JButton(下年); 明年.setForeground(new Color(0, 139, 139); 明年.setFont(new Font(微软雅黑, Font.BOLD

23、, 13); 去年=new JButton(上年); 去年.setFont(new Font(微软雅黑, Font.BOLD, 13); 去年.setForeground(new Color(0, 139, 139); add(去年); add(showYear); add(明年); showYear.addActionListener(this); 去年.addActionListener(this); 明年.addActionListener(this); public void setYear(int year) this.year=year; showYear.setText(+yea

24、r); public int getYear() return year; public void actionPerformed(ActionEvent e) if(e.getSource()=去年) year=year-1; showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); else if(e.getSource()=明年) year=year+1; showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); el

25、se if(e.getSource()=showYear) try year=Integer.parseInt(showYear.getText(); showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); catch(NumberFormatException ee) showYear.setText(+year); 日历.setYear(year); 日历.设置日历牌(year,日历.getMonth(); 第四部分、心得体会 通过这次对日历记事本的程序编写,我对java有了更深一步的探求和理解。首先是对日历记事本的外观理解、分析,以及查找电脑上、手机上运用的日历记事本的成品,都让我们有了灵感和坚定了决心。我和隋欣一同完成它经历了许多困难。因为知识还是有些不足,我们对java许多语句进行了资料的查找和搜集,经过多方面的努力和一遍又一遍地报错排错,最后对于界面的设计,我们两个也是很久才达成共识。我们当然也学会了如何坚持一件事情。使我

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

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