精品闹钟提醒及定时关机程序.docx
- 文档编号:28280433
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:26
- 大小:115.23KB
精品闹钟提醒及定时关机程序.docx
《精品闹钟提醒及定时关机程序.docx》由会员分享,可在线阅读,更多相关《精品闹钟提醒及定时关机程序.docx(26页珍藏版)》请在冰豆网上搜索。
精品闹钟提醒及定时关机程序
湖南工业大学
课程设计
资料袋
计算机与通信学院(系、部)2011~2012学年第1学期
课程名称Java程序设计指导教师职称副教授
学生姓名专业班级学号
题目闹钟提醒及定时关机系统
成绩起止日期2010年12月6日~2011年1月20日
目录清单
序号
材料名称
资料数量
备注
1
课程设计任务书
1份
2
课程设计说明书
1份
3
张
4
5
6
湖南工业大学
课程设计任务书
2010-2011学年第1学期
计算机与通信学院软件工程专业 班级
课程名称:
Java程序设计
设计题目:
闹钟提醒及定时关机
完成期限:
自2011年12月6日至2012年1月20日共2周
内
容
及
任
务
一、设计的主要技术参数
二、
(1)ADO连接数据库的实现方法;
三、设计任务(内容)
(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日
整理、完善并打印设计说明书,准备答辩
参
考
资
料
(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日
学生姓名
班级
学号
成绩
指导教师
满君丰
计算机与通信学院
2011年12月6日
1绪论1
1.1课题背景1
1.2控件开发相关技术介绍1
2系统分析2
2。
1需求分析2
2。
2工作流程2
3系统设计2
3.1系统功能结构图2
3。
2模块功能设计3
4系统实现4
4.1系统界面的实现4
4.2系统主要功能实现4
4。
2。
1系统主界面和代码:
4
4。
2.2当前时间5
4.2.3查看日历5
显示日历5
选择时间6
显示星期6
显示节气6
4。
2.4定时关机6
4。
2.5定时提醒6
4.2。
6系统设置7
5性能需求7
5.1时间性能需求7
5。
2系统开放性需求8
5.3界面友好性需求8
5.4系统可用性需求8
5.5可管理性需求8
5.6InterfaceRequirements接口需求8
6源程序清单8
7总结和展望16
7.1收获与体会16
7。
2未来的展望16
参考文献16
课程设计检查表18
1绪论
1。
1课题背景
我国现在在各个方面发展迅猛,民众的生活质量得到极大的提高。
与此同时,根据时代的要求,人们的生活节奏也随之加快。
人们都要求自己在很短的时间尽量做到最多的事.所以开发一款能让人们能将其所有的事有序地组织起来,同时又能提醒在什么时间该做什么事的软件是很有必要的。
虽然目前这样软件很多功能虽强大,但是用起来都很复杂,有些功能并不实用,操作也太麻烦.该课题的终极目标是开发一个实用,操作便捷的桌面闹钟应用程序,达到在日常生活工作中可以合理利用时间从而大大地提高人们的工作效率。
1。
2控件开发相关技术介绍
本系统前台用Delphi语言。
Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。
“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。
Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。
和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。
可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。
它一直是程序员至爱的编程工具。
Delphi具有以下的特性:
基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。
但最重要的还是ObjectPascal语言,它才是一切的根本。
ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。
在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:
适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。
本系统采用的数据库是Oracle
10g。
因ORICLE具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新的特性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似SQL中的数据仓库功能和很好的伸缩性。
在实际应用方面,它具有完全的Web功能,大大增强了数据库本身的实用性.它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作为本次系统开发的后台语言.
2系统分析
2。
1需求分析
(1)当前时间功能,使用公元纪年和天干地支纪年两种方法显示当前日期,以及用类似数码管形式显示当前时间;
(2)日历查看功能,可以查看的年数很久远;
(3)定时关机,通过设置时间来定时关闭计算机;
(4)闹钟提醒的设定和删除,添加闹钟提醒和删除闹钟提醒;
系统设置,设置标题背景和前景色,日期显示颜色,选中区颜色。
2.2工作流程
一般访客可以进行四个板块:
设定提醒时间,设定提醒信息,设定关机时机,和设定提醒信息。
普通用户登陆之后可以:
★ 对提醒事件进行添加、修改和删除;
★ 对关机时间进行添加、修改和删除;
★ 对剩余时间进行查询;
★ 查看已有信息;
3系统设计
3。
1系统功能结构图
本系统编写的目的,是实现一个住宅小区的物业管理系统,为工作带来更高的工作效率以用方便员工的管理。
由于本程序的功能是和数据库相关的数据查询和数据操作,所以程序至少具有以下功能:
1.数据库的连接;
2.对数据表的基本操作,如插入、修改、删除;
3.根据条件进行查询;
程序界面显示数据的动态刷新,本例是运用按钮控件实现的。
软件功能结构如下图所示:
图3.1功能结构图
3.2模块功能设计
系统功能设计是使整个系统能基本实现员工轮班制度的查询,员工基本信息的查询和管理,员工工资的管理,小区住宅用户的查询和管理,房子基本信息的井底和管理和用户管理等管理功能,能够进行有效率的管理。
本系统共包括两大模块,分别是定时提醒模块和定时提醒模块。
每个模块的功能如下:
定时关机模块:
1)、设定关机时间。
2)、读取当前时间。
3)、启动定时关机定时器,开始定时。
4)、时间到达后关闭计算机。
定时提醒模块:
1)、设定闹钟时间。
2)、读取当前时间。
3)、启动定时提醒定时器,开始定时。
4)、时间到达后,发出提醒信息。
5)、结束本次提醒任务。
等待下次任务。
4系统实现
根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发.详细设计和功能展示如下:
4.1系统界面的实现
界面是保证系统正常运行的一个重要因素,它影响到用户应用系统时的态度,影响到用户对产的品的评价,影响到产品的竞争力和寿命,进而影响到系统功能的发挥,所以必需对界面设计给予足够重视.
4。
2系统主要功能实现
4。
2。
1系统主界面和代码:
系统主界面如下图所示:
图4.1系统主页面
4.2。
2当前时间
1、简要说明
在时钟界面上用数码管形式显示当前时间.
2、界面
图4.2当前时间
4。
2.3查看日历
以公元纪年法和天干地支法显示日历,对于每一个日期查询和显示对应星期,节气.同时,在日历任何日期上,可以点击“今天”回到当前日期。
显示日历
1、简要说明
默认根据当前时间,在日历上显示当前公历和农历,以及星期,如果这天有节气,则显示24节气.
2、界面
图4。
3显示日历
选择时间
通过选择年和月,更新日历显示,以及农历显示。
显示星期
根据选择年月日,在日历上显示对应星期几.
显示节气
根据选择年月日,如果该天有节气,则显示节气.
4.2.4定时关机
1、简要说明
通过设置定时关机,可以让电脑在该时间点上关闭电脑。
可以选择时和分,精确到分钟。
2、界面
图3.4定时关机
4.2。
5定时提醒
1、简要说明
通过设置提醒时间,可以在该时间点上提醒相关事宜。
可以选择时和分,精确到分钟。
当时间到时,在右下脚探出滚动窗口,提示设置消息.
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系统开放性需求
基于主流WINDOWS平台建设的多功能时钟系统,使其具有良好的可扩充性和可移植性,系统可运行在主流的WINDOWS操作系统平台上,便于以后系统的升级.核心日历功能使用标准C++编写,以便于移植PDA等智能手机上,这将有助于提高系统扩充性。
5.3界面友好性需求
系统提供统一的操作界面和方式.要求操作界面美观大方,布局合理,功能完善,对于初级用户容易上手,并且提供适当的帮助信息.
5.4系统可用性需求
系统操作快捷、内容完整是保证对用户进行使用的基础.因此,应准确而详细地理解各用户群特征、任务和使用环境,在“有效性"(完成特定任务和达到特定目标时所具有的正确性和完整程度)、“效率"(完成任务的正确性和完整程度与所使用资源,如时间之间的比率),以及“满意度”(在使用产品过程中具有的主观满意和接受程度)等方面满足各类用户对系统的要求。
5。
5可管理性需求
系统涉及面较广,系统应提供对管理内容的分级分类管理和维护、用户信息维护、系统配置和管理、以及故障诊断等功能。
5.6InterfaceRequirements接口需求
实现C/S的用户操作图形化界面,用户的交互界面都通过PC显示屏交互,大部分用户的显示屏都在17英寸以上,分辨率基本已1024*768为主,600*800的较少,软件界面能自适应屏幕大小。
屏幕格式尺寸:
选择正常4:
3
6源程序清单
importjava。
applet.Applet;
importjava.applet.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;
JButtonqueding,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.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=newJLabel("分");
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);
dakai。
addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventevent)
{
JFileChooserfileChooser=newJFileChooser();//实例化文件选择器
fileChooser.setFileSelectionMode(JFileChooser。
FILES_AND_DIRECTORIES);//设置文件选择模式,此处为文件和目录均可
fileChooser。
setCurrentDirectory(newFile("。
”));//设置文件选择器当前目录
fileChooser。
setFileFilter(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)==JFileChooser。
APPROVE_OPTION)
{//弹出文件选择器,并判断是否点击了打开按钮
StringfileName=
fileChooser。
getSelectedFile()。
getAbsolutePath();//得到选择文件或目录的绝对路径
music.setText(fileName);
}
}
});
queding.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEventevent)
{
if(queding.getText().equals("确定"))
{
try
{
h=Integer.parseInt(SHI.getText());
f=Integer。
parseInt(FEN。
getText());
m=Integer。
parseInt(MIAO.getText());
if(1<=h&&h<=31&&0〈=h&&h〈=23&&0<=f&&f〈=59&&0<=m&&m〈=59)
{
Datenow=newDate();
SimpleDateFormatri=newSimpleDateFormat(”dd”);
if(RI.getText()==null||RI.getText()。
equals(""))
{
r=Integer.parseInt(ri。
format(now));
RI.setText(ri。
format(now));
}
elser=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。
stop();
}
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||h—shizhong〈0)
{
h+=24;
r=r-1;
}
if(f==0||f-fenzhong〈0)
{
f+=60;
h—=1;
}
if(m==0||m—miaozhong<0){
m+=60;
f-=1;
}
guanji。
setText(”离闹铃时间:
”+(r—riqi)+"日"+(h-shizhong)+"时"+(f—fenzhong)+”分”+(m-miaozhong—1)+”秒");
if(r〈riqi)
{
foo=false;
guanji.setText("离闹铃时间:
0日0时0分0秒");
}
elseif(r<=riqi&&h { foo=false; guanji。 setText(”离闹铃时间: 0日0时0分0秒”); } elseif(r<=riqi&&h〈=shizhong&&f { foo=false; guanji.setText(”离闹铃时间: 0日0时0分0秒”); } elseif(r<=riqi&&h〈=shizhong&&f<=fenzhong&&m〈miaozhong) { 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(”关闭"); SimpleDateFormatri=newSimpleDateFormat("dd");//封装为了获取日期 SimpleDateFormatshi=new SimpleDateFormat("HH");//封装为了获取小时 SimpleDateFormatfen=newSimpleDateFormat(”mm");//封装为了获取分钟 SimpleDateFormatmiao=newSimpleDateFormat("ss");//封装为了获取秒钟 riqi=Integer。 parseInt(ri。 format(now));//获取日期 shizhong=Integer。 parseInt(shi.format(now));//获取小时 fenzhong=Inte
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 闹钟 提醒 定时 关机 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)