用Java实现日历记事本

用Java实现日历记事本

ID:39247345

大小:310.51 KB

页数:20页

时间:2019-06-28

用Java实现日历记事本_第1页
用Java实现日历记事本_第2页
用Java实现日历记事本_第3页
用Java实现日历记事本_第4页
用Java实现日历记事本_第5页
资源描述:

《用Java实现日历记事本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用Java实现日历记事本1.实验目的掌握RandomAccessFile类的使用;掌握字符输入、输出流和缓冲输入、输出流的使用。2.实验要求实验前,应事先熟悉相关知识点,拟出相应的实验操作步骤,明确实验目的和要求;实验过程中,服从实验指导教师安排,遵守实验室的各项规章制度,爱护实验仪器设备;实验操作完成后,认真书写实验报告,总结实验经验,分析实验过程中出现的问题。3.实验内容编程实现日历记事本。具体要求如下:(1)该日历可以通过在文本框中输入年份和月份设置日期,也可按年前后翻动,用鼠标左键单击“上年”和“下年”按钮,将当前日历的年份减一和加一。还可以在某年内按月前后翻

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

3、置组件上的字体,Font类的构造方法为:publicFont(String name,int style,int size),其中name是字体的名字,style决定字体的样式(如Font.BOLD表示粗体)size决定字体的大小。(具体请参考JDKAPI)(2)当左键单击日历上的日期时,如要获取该日期,可通过处理该组件上的鼠标事件来实现。4.实验步骤、实施过程、关键代码、实验结果及分析说明等1.CalendarPad类(1)进行整体布局,建立日历记事本文件,设置日历卡,把日期按星期顺序排列,并用窗口监视器实现。(2)用窗口监视器实现,结果如下:2.Notepad类(

4、1)对日期的设置和获取,设置信息条,对文本框进行设置,保存日志、删除日志和读取日志按钮的事件实现。(2)保存日志按钮事件实现如下:(3)读取日志按钮事件实现如下:(4.)删除日志按钮事件实现如下:3Year类(1)输入年份可以实现输出,给上下年按钮设置监视器,对上下年按钮事件的实现。(2)其结果如下:4.Month类(1)设置上下月监视器,对上下月按钮的事件实现,区分闰年和平年,对天数不同的月份进行分类。(2)其结果如下:(续上页,可加页)5各个类的源代码如下:CalendarPad类://CalendarPad.javaimportjava.util.Calenda

5、r;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.util.Hashtable;publicclassCalendarPadextendsJFrameimplementsMouseListener,ActionListener{intyear,month,day;Hashtablehashtable;JButtonSave,Delete,Read;Filefile;JTextFieldshowDay[];JLabeltitle[];Calen

6、darDate;intWeekday;NotePadnotepad=null;MonthChangeMonth;YearChangeYear;Stringweek[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};JPanelleftPanel,rightPanel;publicCalendarPad(intyear,intmonth,intday){leftPanel=newJPanel();JPanelleftCenter=newJPanel();JPanelleftNorth=newJPanel();leftCenter

7、.setLayout(newGridLayout(7,7));rightPanel=newJPanel();this.year=year;this.month=month;this.day=day;ChangeYear=newYear(this);ChangeYear.setYear(year);ChangeMonth=newMonth(this);ChangeMonth.setMonth(month);title=newJLabel[7];showDay=newJTextField[42];for(intj=0;j<7;j++){title[j]=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。