1、精品闹钟提醒及定时关机程序湖南工业大学课程设计资料袋计算机与通信学院(系、部)20112012学年第1学期课程名称Java程序设计指导教师职称副教授学生姓名专业班级学号题目闹钟提醒及定时关机系统成绩起止日期2010年12月6日2011年1月20日目录清单序号材料名称资料数量备注1课程设计任务书1份2课程设计说明书1份3张456湖南工业大学课程设计任务书2010-2011学年第1学期计算机与通信学院软件工程专业班级课程名称:Java程序设计设计题目:闹钟提醒及定时关机完成期限:自2011年12月6日至2012年1月20日共2周内容及任务一、设计的主要技术参数二、(1)ADO连接数据库的实现方法;
2、三、设计任务(内容)(1)当前时间功能,使用公元纪年和天干地支纪年两种方法显示当前日期,以及用类似数码管形式显示当前时间。(2)日历查看功能,可以查看的年数很久远(3)定时关机,通过设置时间来定时关闭计算机。(4)闹钟提醒的设定和删除,添加闹钟提醒和删除闹钟提醒(5)系统设置,设置标题背景和前景色,日期显示颜色,选中区颜色。三、设计工作量从2011年12月6日开始,共用时4周.进度安排起止日期工作内容12月6日5月12日进行系统需求分析,方案论证12月13日5月20日进行系统概要设计及数据库设计12月21日12月30日进行系统详细设计及测试维护等12月31日1月4日整理、完善并打印设计说明书,
3、准备答辩参考资料(1)明日科技:李文立,刘强,梁冰编著,Delphi数据库系统开发案例精选,北京:人民邮电出版社,2006年5月第一版,2006年5月北京第一次印刷。(2)求是科技:周新会,周金根编著,Delphi通用模块及典型系统开发实例导航,北京:人民邮电出版社,2006年2月第一版,2006年2月北京第1次印刷(3)郑阿奇,Oracle实用教程,北京:电子工业出版社,2007年11月第5次印刷.指导教师(签字):年月日系(教研室)主任(签字):年月日Java程序设计课程设计说明书闹钟提醒及定时关机系统起止日期:2011年12月6日至2012年1月20日学生姓名班级学号成绩指导教师满君丰计
4、算机与通信学院2011年12月6日1绪论 11.1课题背景 11.2控件开发相关技术介绍 12系统分析 22。1需求分析 22。2工作流程 23系统设计 23.1系统功能结构图 23。2模块功能设计 34系统实现 44.1系统界面的实现 44.2系统主要功能实现 44。2。1系统主界面和代码: 44。2.2当前时间 54.2.3查看日历 5显示日历 5选择时间 6显示星期 6显示节气 64。2.4定时关机 64。2.5定时提醒 64.2。6系统设置 75性能需求 75.1时间性能需求 75。2系统开放性需求 85.3界面友好性需求 85.4系统可用性需求 85.5可管理性需求 85.6Inte
5、rfaceRequirements接口需求 86源程序清单 87总结和展望 167.1收获与体会 167。2未来的展望 16参考文献 16课程设计检查表 181绪论1。1课题背景我国现在在各个方面发展迅猛,民众的生活质量得到极大的提高。与此同时,根据时代的要求,人们的生活节奏也随之加快。人们都要求自己在很短的时间尽量做到最多的事.所以开发一款能让人们能将其所有的事有序地组织起来,同时又能提醒在什么时间该做什么事的软件是很有必要的。虽然目前这样软件很多功能虽强大,但是用起来都很复杂,有些功能并不实用,操作也太麻烦.该课题的终极目标是开发一个实用,操作便捷的桌面闹钟应用程序,达到在日常生活工作中可
6、以合理利用时间从而大大地提高人们的工作效率。1。2控件开发相关技术介绍本系统前台用Delphi语言。Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和
7、面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是ObjectPascal语言,它才是一切的根本。ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。本系统采用的数据库是Oracle10g。因ORICLE具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新
8、的特性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似SQL中的数据仓库功能和很好的伸缩性。在实际应用方面,它具有完全的Web功能,大大增强了数据库本身的实用性.它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作为本次系统开发的后台语言.2系统分析2。1需求分析(1)当前时间功能,使用公元纪年和天干地支纪年两种方法显示当前日期,以及用类似数码管形式显示当前时间;(2)日历查看功能,可以查看的年数很久远;(3)定时关机,通过设置时间来定时关闭计算机;(4)闹钟提醒的设定和删除,添加闹钟提醒和删除闹钟
9、提醒;系统设置,设置标题背景和前景色,日期显示颜色,选中区颜色。2.2工作流程一般访客可以进行四个板块:设定提醒时间,设定提醒信息,设定关机时机,和设定提醒信息。普通用户登陆之后可以:对提醒事件进行添加、修改和删除;对关机时间进行添加、修改和删除;对剩余时间进行查询;查看已有信息;3系统设计3。1系统功能结构图本系统编写的目的,是实现一个住宅小区的物业管理系统,为工作带来更高的工作效率以用方便员工的管理。由于本程序的功能是和数据库相关的数据查询和数据操作,所以程序至少具有以下功能:1.数据库的连接;2.对数据表的基本操作,如插入、修改、删除;3.根据条件进行查询;程序界面显示数据的动态刷新,本
10、例是运用按钮控件实现的。软件功能结构如下图所示:图3.1功能结构图3.2模块功能设计系统功能设计是使整个系统能基本实现员工轮班制度的查询,员工基本信息的查询和管理,员工工资的管理,小区住宅用户的查询和管理,房子基本信息的井底和管理和用户管理等管理功能,能够进行有效率的管理。本系统共包括两大模块,分别是定时提醒模块和定时提醒模块。每个模块的功能如下:定时关机模块:1)、设定关机时间。2)、读取当前时间。3)、启动定时关机定时器,开始定时。4)、时间到达后关闭计算机。定时提醒模块:1)、设定闹钟时间。2)、读取当前时间。3)、启动定时提醒定时器,开始定时。4)、时间到达后,发出提醒信息。5)、结束
11、本次提醒任务。等待下次任务。4系统实现根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发.详细设计和功能展示如下:4.1系统界面的实现界面是保证系统正常运行的一个重要因素,它影响到用户应用系统时的态度,影响到用户对产的品的评价,影响到产品的竞争力和寿命,进而影响到系统功能的发挥,所以必需对界面设计给予足够重视.4。2系统主要功能实现4。2。1系统主界面和代码:系统主界面如下图所示: 图4.1系统主页面4.2。2当前时间1、简要说明在时钟界面上用数码管形式显示当前时间.2、界面图4.2当前时间4。2.3查看日历以公元纪年法和天干地支法显示日历,对于每一个日期查询和显示
12、对应星期,节气.同时,在日历任何日期上,可以点击“今天”回到当前日期。显示日历1、简要说明默认根据当前时间,在日历上显示当前公历和农历,以及星期,如果这天有节气,则显示24节气.2、界面图4。3显示日历选择时间通过选择年和月,更新日历显示,以及农历显示。显示星期根据选择年月日,在日历上显示对应星期几.显示节气根据选择年月日,如果该天有节气,则显示节气.4.2.4定时关机1、简要说明通过设置定时关机,可以让电脑在该时间点上关闭电脑。可以选择时和分,精确到分钟。2、界面图3.4定时关机4.2。5定时提醒1、简要说明通过设置提醒时间,可以在该时间点上提醒相关事宜。可以选择时和分,精确到分钟。当时间到
13、时,在右下脚探出滚动窗口,提示设置消息.2、界面(1)设置定时提醒图4.5定时提醒(2)定时提醒内容图4。6提醒内容4。2.6系统设置1、简要说明设置标题背景和前景色,日期显示颜色,选中区颜色;隐藏和显示系统。设置标题背景色,是改变日历星期标题背景颜色;设置标题前景色,是改变日历星期标题字体颜色。设置日期前景色,是改变日历中公历每日颜色。设置选中区颜色,是改变日历上高亮显示日期颜色。通过设置热键ALT+X,来隐藏和显示系统。2、界面(1)设置颜色图4.7设置颜色(2)隐藏与显示图4.8隐藏与显示5性能需求5.1时间性能需求响应速度:5秒内。客户端:桌面运行程序,速度很快.5.2系统开放性需求基
14、于主流WINDOWS平台建设的多功能时钟系统,使其具有良好的可扩充性和可移植性,系统可运行在主流的WINDOWS操作系统平台上,便于以后系统的升级.核心日历功能使用标准C+编写,以便于移植PDA等智能手机上,这将有助于提高系统扩充性。5.3界面友好性需求系统提供统一的操作界面和方式.要求操作界面美观大方,布局合理,功能完善,对于初级用户容易上手,并且提供适当的帮助信息.5.4系统可用性需求系统操作快捷、内容完整是保证对用户进行使用的基础.因此,应准确而详细地理解各用户群特征、任务和使用环境,在“有效性(完成特定任务和达到特定目标时所具有的正确性和完整程度)、“效率(完成任务的正确性和完整程度与
15、所使用资源,如时间之间的比率),以及“满意度”(在使用产品过程中具有的主观满意和接受程度)等方面满足各类用户对系统的要求。5。5可管理性需求系统涉及面较广,系统应提供对管理内容的分级分类管理和维护、用户信息维护、系统配置和管理、以及故障诊断等功能。5.6InterfaceRequirements接口需求实现C/S的用户操作图形化界面,用户的交互界面都通过PC显示屏交互,大部分用户的显示屏都在17英寸以上,分辨率基本已1024768为主,600800的较少,软件界面能自适应屏幕大小。屏幕格式尺寸:选择正常4:36源程序清单importjava。applet.Applet;importjava.a
16、pplet.AudioClip;importjava.awt。Container;importjava。awt.GridLayout;importjava。awt。event。*;importjava。io。File;。MalformedURLException;。URL;importjava。text.SimpleDateFormat;importjava。util.Date;importjavax。swing.*;publicclassclockextendsJFrameimplementsRunnable JLabelri,shi,fen,miao,dangqian,guanji; JB
17、uttonqueding,dakai; JTextFieldmusic,RI,SHI,FEN,MIAO; inth=0,f=0,m=0,r=0; booleanfo=false,foo=false; publicAudioClipsoumd1; intriqi,shizhong,fenzhong,miaozhong; publicclock() Containerc=getContentPane(); c.setLayout(newGridLayout(4,1)); JPaneljp=newJPanel(); dangqian=newJLabel(); jp。add(dangqian); c.
18、add(jp); JPaneljp3=newJPanel(); guanji=newJLabel(”离闹铃时间:0日0时0分0秒”); jp3。add(guanji); c。add(jp3); JPaneljp1=newJPanel(); music=newJTextField(20); dakai=newJButton(”选择闹铃音乐); jp1.add(music); jp1。add(dakai); c.add(jp1); ri=newJLabel(日); RI=newJTextField(4); shi=newJLabel(时”); SHI=newJTextField(4); fen=n
19、ewJLabel(分); FEN=newJTextField(4); miao=newJLabel(”秒”); MIAO=newJTextField(4); JPaneljp2=newJPanel(); jp2。add(ri); jp2.add(RI); jp2。add(shi); jp2。add(SHI); jp2.add(fen);jp2。add(FEN);jp2。add(miao);jp2.add(MIAO);queding=newJButton(确定”);jp2.add(queding);c.add(jp2);setSize(400,160);setVisible(true);daka
20、i。addActionListener(newActionListener() publicvoidactionPerformed(ActionEventevent) JFileChooserfileChooser=newJFileChooser();/实例化文件选择器fileChooser.setFileSelectionMode(JFileChooser。FILES_AND_DIRECTORIES);/设置文件选择模式,此处为文件和目录均可 fileChooser。setCurrentDirectory(newFile(。”);/设置文件选择器当前目录 fileChooser。setFil
21、eFilter(newjavax。swing。filechooser。FileFilter() publicbooleanaccept(Filefile) /可接受的文件类型 Stringname=file。getName()。toLowerCase(); returnname.endsWith(”.mp3)name。endsWith(。au”)|file.isDirectory(); publicStringgetDescription() /文件描述 return”音乐文件(.mp3,.au)”; ); if(fileChooser。showOpenDialog(clock。this)=J
22、FileChooser。APPROVE_OPTION) /弹出文件选择器,并判断是否点击了打开按钮 StringfileName=fileChooser。getSelectedFile()。getAbsolutePath();/得到选择文件或目录的绝对路径 music.setText(fileName); );queding.addActionListener(newActionListener() publicvoidactionPerformed(ActionEventevent) if(queding.getText().equals(确定)) try h=Integer.parseIn
23、t(SHI.getText()); f=Integer。parseInt(FEN。getText(); m=Integer。parseInt(MIAO.getText()); if(1=hh=31&0=h&h=23&0=f&f=59&0=m&m=59) Datenow=newDate(); SimpleDateFormatri=newSimpleDateFormat(”dd”); if(RI.getText()=nullRI.getText()。equals()) r=Integer.parseInt(ri。format(now); RI.setText(ri。format(now); els
24、er=Integer。parseInt(RI.getText()); fo=true; elseJOptionPane.showMessageDialog(null,”输入时间错误”); catch(Exceptione) JOptionPane.showMessageDialog(null,请输入正确的时间”); else try fo=false; RI.setEditable(true); SHI。setEditable(true); FEN。setEditable(true); MIAO.setEditable(true); queding.setText(”确定); soumd1。s
25、top(); catch(ExceptionE) System.out。println(关闭”); ); publicstaticvoidmain(Stringagrs) clocks=newclock(); Threadt1=newThread(s); t1。start(); s。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE); publicvoidrun() while(true) Datenow=newDate(); dangqian。setText(”当前时间:+now.toString(); if(foo) if(h=0|hshizhon
26、g0) h+=24; r=r-1; if(f=0f-fenzhong0) f+=60; h=1; if(m=0|mmiaozhong0) m+=60; f-=1; guanji。setText(”离闹铃时间:”+(rriqi)+日+(h-shizhong)+时+(ffenzhong)+”分”+(m-miaozhong1)+”秒); if(rriqi) foo=false; guanji.setText(离闹铃时间:0日0时0分0秒); elseif(r=riqi&hshizhong) foo=false; guanji。setText(”离闹铃时间:0日0时0分0秒”); elseif(r=r
27、iqi&h=shizhong&ffenzhong) foo=false; guanji.setText(”离闹铃时间:0日0时0分0秒”); elseif(r=riqi&h=shizhong&f=fenzhong&mmiaozhong) foo=false; guanji。setText(离闹铃时间:0日0时0分0秒); if(fo) foo=true; RI.setEditable(false); SHI.setEditable(false); FEN。setEditable(false); MIAO.setEditable(false); queding。setText(”关闭); Sim
28、pleDateFormatri=newSimpleDateFormat(dd);/封装为了获取日期 SimpleDateFormatshi=newSimpleDateFormat(HH);/封装为了获取小时 SimpleDateFormatfen=newSimpleDateFormat(”mm);/封装为了获取分钟 SimpleDateFormatmiao=newSimpleDateFormat(ss);/封装为了获取秒钟 riqi=Integer。parseInt(ri。format(now));/获取日期 shizhong=Integer。parseInt(shi.format(now));/获取小时 fenzhong=Inte
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1