动态网站基础程序的设计课程设计日历记事本Java课程设计.pdf
《动态网站基础程序的设计课程设计日历记事本Java课程设计.pdf》由会员分享,可在线阅读,更多相关《动态网站基础程序的设计课程设计日历记事本Java课程设计.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 动态基础程序设计课程设计 班级:学生卡:姓名:主题:日历记事本 导师:答复日期:一、任务详情 解释老师布置的题目、要求和最终结果。(需与老师密切沟通)设计主题:日历记事本 设计要求:1.类之间的关系如图 1-1 所示。(添加类图)图 1-1 类之间的关系 2、java 源文件及其功能如表 1-1 所示。表 1-1 java 源文件及其功能 序列号 文件名 主要功能 评论 1 CalendarPad.java 程序主窗口创建实用万年历记事本 包含主要方法 2 记事本.java 该文件负责创建记事本 3 年份.java 该文件负责创建管理年份的对象 4 月.java 该文件负责创建管理月份的类对
2、象 CalendarPad(主类)NotePad Year Month 系统详细设计 主类CalendarPad 1.成员变量 成员变量说明 变量类型 姓名 年月日 整数 年、月、日 用于保存日志的哈希表 哈希表 哈希表 存储哈希表的文件 文件 文件 演出日期 JTextField 表演日 日历对象 日历 日历 记事本对象 记事本 记事本 月亮 月 负责任的变革月 年 年 负责改年 2.方法 姓名 功能 评论 日历垫 创建程序的主窗口 施工方法 设置日历卡 设置日历的年月 安排 按月排序 鼠标按下 处理 MouseEvent 事件 接口方法 面 程序开始运行 记事本记事本 1.成员变量 描述
3、变量类型 姓名 文字输入区 文本区域 文本 保存和删除日志的按钮 按钮 保存日志,删除日志 用于保存日志的哈希表 哈希表 桌子 保存哈希表的文件 文件 文件 日志的年月日 整数 年、月、日_ 2.方法 姓名 功能 评论 记事本 创建记事本对象 施工方法 设置年 设定年份 获取年份 获得年份 设置月 设置月份 获取月份 获得月份 设置日 设置日期 获取日 获取日期 获取日志内容 获取日志内容 保存日志 保存日志 删除日志 删除日志 执行的动作 处理 ActionEvent 事件 接口方法 年 1.成员变量 描述 变量类型 姓名 表示年份的整数(负数表示 BC)整数 年 显示年份的文本栏 JTex
4、tField 演出年 负责加减年份的按钮 乌顿 明年,去年 2.方法 姓名 功能 评论 年 创建一个“年份”对象 施工方法 设置年 设定年份 获取年份 获得年份 执行的动作 处理 ActionEvent 事件 接口方法 月 1.成员变量 描述 变量类型 姓名 代表月份的整数(负数代表 BC)整数 月 显示月份的文本栏 JTextField 秀月 负责加减月份的按钮 乌顿 上个月,下个月 2.方法 姓名 功能 评论 月 创建一个“月”对象 施工方法 设置月份 设置月份 获取月份 获得月份 执行的动作 处理 ActionEvent 事件 接口方法 二、任务分析 针对老师的题目,说说为实现题目内容而
5、进行的分析。:日历记事本的主类(Calendar;swing;awt;awt.event;io;Hashtable):笔记本(日历;swing;awt;awt.event;io;swing.event;):年(javax.swing;java.awt.java.awt.event):月亮(javax.swing;java.awt.java.awt.event)三、任务解决过程和方法 源程序列表 主类 CalendarPad:CalendarPad.Java _ _ 导入 java.util.Calendar;导入 javax.swing.*;导入 java.awt.*;导入 java.awt.
6、event.*;导入java.io.*;导入 java.util.Hashtable;公共类 CalendarPad 扩展 JFrame 实现 MouseListener int 年、月、日;哈希表哈希表;档案档案;JTextField showDay;JLabel 标题;日历日历;int 星期几;记事本记事本=空;Month 负责更改月份;Year 负责更改年份;String Week=星期日,星期一,星期二,星期三,星期四,星期五,星期六;JPanel 左面板,右面板;public CalendarPad(int year,int month,int day)leftPanel=新JPan
7、el();JPanel leftCenter=new JPanel();JPanel leftNorth=new JPanel();leftCenter.setLayout(new GridLayout(7,7);右面板=新 JPanel();this.year=年;this.month=月;这天=天;负责更改年份=new Year(this);负责更改year.setYear(year);负责更改月份=new Month(this);负责更改month.setMonth(month);标题=新的 JLabel7;showDay=新的 JTextField42;for(int j=0;j7;j
8、+)标题j=新的 JLabel();标题j.setText(周j);标题j.setBorder(BorderFactory.createRaisedBevelBorder();leftCenter.add(titlej);标题0.setForeground(Color.red);标题6.setForeground(Color.blue);for(int i=0;i42;i+)showDayi=new JTextField();showDayi.addMouseListener(this);showDayi.setEditable(false);leftCenter.add(showDayi);
9、日历=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(请在年份输入框中输入您要查找的年份(负数表示BC),回车确认),边框布局.S
10、OUTH);leftPanel.validate();容器 con=getContentPane();JSplitPane 拆分=新 JSplitPane(JSplitPane.HORIZONTAL_SPLIT,左面板,右面板);con.add(split,BorderLayout.CENTER);con.validate();哈希表=新哈希表();file=new File(日历记事本.txt);if(!file.exists()尝试 文件输出流输出=新文件输出流(文件);ObjectOutputStream objectOut=new ObjectOutputStream(out);obj
11、ectOut.writeObject(哈希表);objectOut.close();out.close();捕获(IOException e)记事本=新记事本(本);rightPanel.add(记事本);日历设置牌(年、月);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););设置可见(真);设置边界(100,50,524,285);证实();public void 设置日历卡片(int year,int month)Calendar.set(year,mo
12、nth-1,1);星期几=calendar.get(Calendar.DAY_OF_WEEK)-1;if(月=1|月=2|月=3|月=5|月=7|月=8|月=10|月=12)数组(星期几,31);else if(月=4|月=6|月=9|月=11)数组(星期几,30);否则如果(月=2)if(年%4=0&年%100!=0)|(年%400=0)数组(星期几,29);别的 数组(星期几,28);公共无效数组(int 星期几,int 月份日期)for(int i=星期几,n=1;i星期几+月份日期;i+)showDayi.setText(+n);如果(n=天)showDayi.setForegroun
13、d(Color.green);showDayi.setFont(new Font(TimesRoman,Font.BOLD,20);别的 showDayi.setFont(new Font(TimesRoman,Font.BOLD,12);showDayi.setForeground(Color.black);如果(i%7=6)showDayi.setForeground(Color.blue);如果(i%7=0)showDayi.setForeground(Color.red);n+;for(int i=0;i几星期;i+)showDayi.setText();for(int i=几周几+月
14、天数;i42;i+)showDayi.setText();公共 int getYear()返回年份;公共无效 setYear(int y)年=y;notepad.setYear(年);公共 int getMonth()返回月份;公共无效 setMonth(int m)月=m;notepad.setMonth(月);公共 int getDay()返回日;公共无效 setDay(int d)天=d;notepad.setDay(day);公共哈希表 getHashtable()返回哈希表;公共文件获取文件()返回文件;public void mousePressed(MouseEvent e)JT
15、extField 源=(JTextField)e.getSource();尝试 day=Integer.parseInt(source.getText();notepad.setDay(day);notepad.set infobar(年,月,日);notepad.settextarea(null);notepad.获取日志内容(年、月、日);捕获(异常 ee)public void mouseClicked(MouseEvent e)public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e)pub
16、lic void mouseExited(MouseEvent e)公共静态无效主(字符串参数)日历日历=Calendar.getInstance();int y=calendar.get(Calendar.YEAR);int m=calendar.get(Calendar.MONTH)+1;int d=calendar.get(Calendar.DAY_OF_MONTH);新日历垫(y,m,d);记事本记事本:记事本.java 导入 java.awt.*;导入 java.awt.event.*;导入 java.util.*;导入 javax.swing.*;导入 javax.swing.ev
17、ent.*;导入java.io.*;公共类 NotePad 扩展 JPanel 实现 ActionListener JTextArea 文本;utton保存日志,删除日志;哈希表;JLabel 信息栏;int 年、月、日;档案档案;CalendarPad 日历;公共记事本(CalendarPad 日历)this.calendar=日历;年=日历.getYear();月=日历.getMonth();天=日历.getDay();表=日历.getHashtable();文件=日历.getFile();信息栏=new JLabel(+year+year+month+month+day+day,JLab
18、el.CENTER);InfoBar.setFont(new Font(TimesRoman,Font.BOLD,16);infobar.setForeground(Color.blue);文本=新的 JTextArea(10,10);保存日志=new utton(保存日志);删除日志=new utton(删除日志);保存 log.addActionListener(this);删除 log.addActionListener(this);设置布局(新边框布局();JPanel pSouth=新 JPanel();add(信息栏,BorderLayout.NORTH);pSouth.add(保
19、存日志);pSouth.add(删除日志);添加(pSouth,BorderLayout.SOUTH);添加(新的 JScrollPane(文本),BorderLayout.CENTER);公共无效actionPerformed(ActionEvent e)if(e.getSource()=保存日志)保存日志(年、月、日);else if(e.getSource()=删除日志)删除日志(年、月、日);public void setYear(int year)this.year=year;公共 int getYear()返回年份;公共无效 setMonth(int 月)this.month=月;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 网站 基础 程序 设计 课程设计 日历 记事本 Java
限制150内