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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

日历记事本课程设计报告解读Word下载.docx

1、2、设计思想此处主要指根据功能划分的功能模块,以及打算解决实现这些模块功能的思路设计思想Java记事本程序是:图形界面、流与文件等技术的综合应用。 图形界面的实现:考虑到简单、实用、高效等特点,大部分选择了awt来完成实现,其中也有swing组件。文本编辑区就选用了TaxtArea作为主要的部件。 文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。 由于Java的特性,可能用任何一个编辑器来编辑,于是就将Windows中的记事本作为模仿对象,根据实现情况删减了其中的一些功能。 在设计类的时候,考虑到简单明了,就用了三个类,一个主类、一个类设计构造函数实现监听接

2、口作为程序的整体框架,一个类设计构造函数实现查找替换功能。所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。1、主要技术日历记事本系统主面板与日历板模块(CalendarPad.java) 该模块设计主要主要包含以下成员变量: 年(year) 月(month) 日(day) 存放日期的表(Hashtable) 存放日志的文件(File) 主要方法有: 创建程序主面板的构造方法(CalendarPad) 处理ActionEvent

3、事件的接口方法(actionPerformed) 程序开始运行的main()方法。 在具体设计过程中,首先,基本功能和组件的创建;然后,创建构造方法,这一部分包括:为各个功能创建监听事件,创建程序主面板以及日历面板.添加关闭窗口方法;第三步分为创建监听方法,实现对各个功能模块的操作,以及鼠标点击实现进入相应的功能面板;最后创建相应的main()方法。2.日历记事本系统年设置模块(Year.java) 该模块用于实现日历记事本系统中关于年的设置,模块中包含的主要成员变 量有用于改变年的按钮(Jbutton 明年 去年),显示年的文本框(JTextField)。模块中包含的主要方法有用于设置年的方

4、法(setYear),用于获取年的方法(getYear)和处理ActionEvent事件的接口方法(actionPerformed)等在具体设计过程中,首先,显示年的文本框、按钮、文件列表、区域的创建和初始化;然后创建构造方法,实现以上信息和组件的实体化,下一步实现接口监听,创建监听方法,通过以上方法可以实现年设置模块的基本功能实现。3.日历记事本系统月设置模块(Month.java) 该模块用于实现日历记事本系统中关于月的设置,模块中包含的主要成员变 量有用于改变月的按钮(Jbutton 上月 下月),显示月的文本框(JTextField)。模块中包含的主要方法有用于设置月的方法(setMo

5、nth),用于获取月的方法(getMonth)和处理ActionEvent事件的接口方法(actionPerformed)等 在具体设计过程中与年设置大体上相近,首先,显示年的文本框、按钮,文件列表、区域的创建和初始化;4.日历记事本系统记事本模块(NotePad.java) 该模块中包含的主要成员变量有文本框(JTextArea),按钮(JButton 保存日 志 删除日志),用于存放日志记录的文件(File)以及响应相关操作的信息提示(JLabel)。该模块中包含的主要方法有设置信息条,设置文本区,获取日志内容,保存日志,删除日志 在具体设计过程中首先,将记事本模块中的文本框、按钮创建和初

6、始化;然后创建构造方法,实现以上信息和组件的实体化,实现接口监听,创建监听方法,选择日期时若记事本系统中已经存在记录,则弹出提示,询问是否查看;若不存在记录,则可以保存日志;对存在的日志使用删除日志功能时会弹出提示是否删除日志,选是即删除日志,选否即可返回.以上即实现学生基本信息模块的基本功能实现。二、采用的主要技术、遇到的问题和解决方法此处主要指用到Java中的主要技术,以及技术中的类和方法。在程序设计中遇到的难点和问题,是如何解决的。主类CanlendarPad(1)成员变量成员变量描述 变量类型 名称年、月、日 int year,month,day 保存日志的散列表 Hanshtable

7、 hanshtable 存放散列表的文件 File file 显示日期 JtextFile showDay 日历对象 Calendar 日历 记事本对象 NotePad notepad 月 Month 负责改变月 年 Year 负责改变年2.方法名称 功能 备注 CalendarPad 创建窗口主程序 构造方法 设置日历牌 设置日立的年份、月份 排列号码 排列月份中的号码mousePressed 处理MouseEvent事件 接口方法 main 程序开始运行3.对日历添加,基本上完成了我的java课程设计,通过这次的课程设计,同时做这门课程设计也进一步加强了我的动手能力,为了完成好这次课程设计

8、,记事本Note1、成员变量描述变量类型名称文本输入区JTextAreatext保存、删除日志的按钮Button保存日志、删除日志保存日志的散列表Hashtabletable保存散列表的文件4.功能设置名称 功能 备注NotaPad 创建记事本对象 构造方法setYear 设置年份getYear 获取年份setMonth 设置月份getMonth 获取月份setDay 设置日期getDay 获取日期获取日志内容 获取日志内容保存日志 保存日志删除日志 删除日志actionPerformed 处理ActionEvent事件 接口方法年Year1.成员变量描述 变量类型 名称表示年份的整数 int

9、 year 显示年份的文本条 JtextFiled showYear 负责增减年份的按钮 Jbutton 明年、去年Year 创建年对象 构造方法 setYear 设置年份月Month表示月份的整数 int month显示月份的文本条 JtextFiled showMonth 负责增减月份的按钮 Jbutton 下月,上月Month 创建“月”对象 构造方法 SetMonth 设置月份actionPerformed 处理ActionEvent 接口方法 2、遇到的问题和解决方法问题(1):数据传输问题无法连接数据库解决方法:找同学帮忙解决问题(2):三、实现的主要功能和系统结构此处写本课程设计

10、的重要功能模块以及模块结构图日历记事本系统四、核心算法描述和相关技术说明此处指解决每个模块问题设计的算法思想描述或者自己写的方法,以及代码实现(不需要在代码中加注释,解释部分在算法思想描述中阐述清楚即可)主类CalendarPad(1) 数据库连接import java.sql.Connection;import java.sql.DriverManager;public class DB private String Driver_name = jdbc:mysql:/localhost:3306/test; private String USER = root private String

11、 PASS = public static Connection con; public DB() try Class.forName(com.mysql.jdbc.Driver); con = DriverManager.getConnection(Driver_name, USER, PASS); con.prepareStatement(set NAMES utf8).executeUpdate(); catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); public static Conne

12、ction getConnection() if(con = null) new DB(); return con;(2)系统登录public class Login Font d = new Font(楷体, Font.BOLD, 22); Font f = new Font(, Font.BOLD, 15); JFrame logingui = new JFrame(用户登录界面 JLabel userlogin = new JLabel(用户登录 JLabel username = new JLabel(用户名: JLabel password = new JLabel(密 码: JTe

13、xtField name = new JTextField(); JTextField pwd = new JPasswordField(); JButton login = new JButton(登陆 JButton cancle = new JButton(取消 JButton regist = new JButton(注册 User user = new User();(3)系统注册import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java

14、.sql.PreparedStatement;import java.sql.SQLException;import java.util.Calendar;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;import net.cw.edu.CalendarPad;import net.cw.view

15、.DB;public class registgui /初始化字体 Font d = new Font( Font f = new Font( / 初始化对象 JTextField name = new JTextField(); JTextField pwd = new JPasswordField(); JTextField rpwd = new JPasswordField(); JFrame registgui = new JFrame(用户注册界面 JLabel userregist = new JLabel(用户注册 JLabel username = new JLabel( JL

16、abel password = new JLabel( JLabel rpassword = new JLabel(确认密码: JButton affirm = new JButton(确认 JButton cancle = new JButton( User user = new User();(4)记录日志public String 获取日志内容(int year,int month,int day) String key=+year+month+day; Connection con = DB.getConnection(); PreparedStatement ps = con.pre

17、pareStatement(select * from log ResultSet rs = ps.executeQuery(); if (rs.getRow() != 0) rs.first(); String text = rs.getString(3); 设置文本区(text); return rs.getString(text); else text.setText(无记录 return null; (5)删除或保存日志public class NotePad extends JPanel implements ActionListener JTextArea text; JButto

18、n 保存日志,删除日志; Hashtable table; JLabel 信息条; int year,month,day; File file; CalendarPad calendar; public NotePad(CalendarPad calendar) this.calendar=calendar; year=calendar.getYear(); month=calendar.getMonth(); day=calendar.getDay(); table=calendar.getHashtable(); file=calendar.getFile(); 信息条=new JLabe

19、l(年月+day+日,JLabel.CENTER); 信息条.setFont(new Font(TimesRoman,Font.BOLD,16); 信息条.setForeground(Color.blue); text=new JTextArea(10,10); 保存日志=new JButton(保存日志) ; 删除日志=new JButton(删除日志 保存日志.addActionListener(this); 删除日志.addActionListener(this); setLayout(new BorderLayout(); JPanel pSouth=new JPanel(); add

20、(信息条,BorderLayout.NORTH); pSouth.add(保存日志); pSouth.add(删除日志); add(pSouth,BorderLayout.SOUTH); add(new JScrollPane(text),BorderLayout.CENTER); public void actionPerformed(ActionEvent e) if(e.getSource()=保存日志) 保存日志(year,month,day); else if(e.getSource()=删除日志) 删除日志(year,month,day);五、总结和体会1、总结对本次课程设计进行总

21、结,重点写课程设计实现的总结(不要写感受,感受在体会中写)在这为期一周的课程设计中,我们组的课题项目为日历记事本(CalendarPad.java)作为组长的我亲自请缨担任CalendarPad.java代码的编写,我们通过eclipse软件进行项目的编写。在编写的代码的过程中我们遇到了这样那样的问题,我问询问同学,共同探讨,虽然大家java的学习并不是想象中的那么好,但是大家都在尽心尽力的来完成,特别是在最后的合并起来之后,我们发现在可视窗口的底部的文字显示部分存在很大的漏洞,我们对了几遍源代码,发现并没有出现错误,我们没有放弃。我们发现问题可能出现在了编码上,于是我们尝试着使用Calend

22、arPad.java类包进行编写改动,这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,而且团队之间的合作,成员之间的默契,也很重要,这将对我以后的工作形成良好的习惯 CalendarPad.Java的编写,该文件创建记事本,包括对记事本的输入,保存删除日志的按钮,保存日志散列表和文件,以及记录日志的年,月,日。利用java.awt类的使用。使用类创建记事本,输入文字和保存日志,对日志的年月日进行编辑,设置代码,进一步加深了对java类的认识和使用,编写java的困难,一定要认真仔细,先思考后编写,要想到使用的成员变量和使用的方法,要对编写java进行规范的编写,在编

23、写CalendarPad.java时,充分认识到对java编写重要性,对类的如何使用。对NotePad.java部分的编写,了解了编写一个程序真的是很不容易,这部分主要是文本输入区、保存、删除日志的按钮、保存日志的散列表、保存散列表的文件以及记录日志年、月、日这部分的实现(变量类型主要有:JTextArea、Button、Hashtable、File、int;主要方法:NotePad、setYear、getYear、setMonth、getMonth、setDay、getDay、获取日志内容、保存日志、删除日志、actionPerformed)通过java.awt;java.io等类的运用让我

24、进一步加深了对java类的认识和使用。在编写程序时多次出现错误,对于java语言基础的理解还不够透彻不够仔细。不过所幸最后通过同学的指点和资料的补充最终共完成了这次的课程设计。 通过这次的课程设计我深刻意识到要在以后的而学习中认真努力,多做程序,多进行练习,不会的多问老师同学,努力培养自己对java的兴趣,努力学好java。 由于是第一次进行Java语言开发所以不足之处不可避免。以前不懂得的东西,通过这次组员之间的讨论,完善,得到补充,使自己对于java这门课程有了全新的认识。用到变量类型有int、JTextField、JButton,对于这些,以前只是听老师讲过,没有运用于实践中,所以创建“

25、年”对象,设置年份,获取年份该用些什么方法,哪些变量,在这次实践得到更完善的积累。这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,而且团队之间的合作,成员之间的默契,也很重要,这将对我以后的工作形成良好的习惯。 以及进一步熟悉掌握Java程序设计语言的基础内容,提高Java编程技术以及分析解决问题的综合能力。由于自身能力有限,所以在编写代码的时候难免出现问题,像用什么变量显示日期,用什么变量保存日志的散列表等等,像int、Hashtable、File、JTextField、这些都通过组员之间的讨论得到解决。以前对Java语言的很多知识认识都不深刻,做过这次实训之后,

26、我对Java语言的开发有了一个比较系统的了解,从中发现自己平时学习不足和薄弱环节,从而加以弥补2、体会写课程设计过程中自己的体会经过这一次的设计,总体来说收获还是不小。刚刚开始学习Java语言的时候也曾经想过利用所学的知识来做些真东西。之前用过C语言编写过一些程序,但C语言与Java之前差异比较大,而Java语言对我来说是个新事物,对Java了解不是十分深刻,用起来也不能得心应手。但是此次的设计让我对Java有了更深刻的认识和了解,通过亲手编写Java程序不仅大大的提高了我的动手能力,更让我从更深一层来了解Java语言。尽管如此,但Java中可发掘的东西太多了,一个小小的程序不可能将全部的内容

27、都展现出来。因此对Java,我依然还有许多不明白的地方。这将在之后的学习中进行更深层次的学习。 通过这次的课程设计,基本上将书本上的知识运用到实践上,从而进一步巩固和丰富所学知识,也让我更加深层次的认识了java及其功能的强大。为了更好地完成这次课程设计,我做了很多准备,上网查阅资料,到图书馆翻阅书籍。这个过程中也锻炼了我的思维分析、遇到问题及想法设法通过各种途径解决问题的能力。从理论到实践,在整整几天的时间里,可以说,是苦大于甜,但确实学到很多东西,同时不仅巩固了以前的知识,而且学到了许多书上学不到的知识。通过这次课程设计使我懂得了理论与实践相结合是很重要的,只有理论知识是不够的,只有把所学的理论知识和实践结合起来,从理论中得出结论,才能真正服务社会,从而提高自己的实际动手能力和独立思考能力。通过这次课程设计,了解到了自己的不足之处,对以前的知识没有掌握到位,所以我们一定要学好理论知识,为以后的实践打下基础。总而言之,这次课程设计我学到了很多 读书的好处1、行万里路,读万卷书。2、书山有路勤为径,学海无涯苦作舟。3、读书破万卷,下笔如有神。4、我所学到的任何有价值的知识都是由自学中得来的。达尔文5、少壮不努力,老大徒悲伤。6、黑发不知勤学早,

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

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