Java时钟软件设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

佛山科学技术学院《可视化编程技术》课程设计报告时钟软件设计学生姓名:黄雪容学号:2011914235年级专业:11级教育技术学2班指导老师:容汝佳学院:教育科学学院广东★佛山提交日期:2013年6月1目录1.前言………………………………………………………………………………22.概要设计…………………………………………………………………………32.1开发环境……………………………………………………………………32.2计算器功能…………………………………………………………………32.3界面设计……………………………………………………………………32.4类的框架结构图……………………………………………………………43.详细设计………………………………………………………………………43.1使用的JAVA类的说明……………………………………………………43.2类的主要方法………………………………………………………………53.2.1处理按了运算符后的计算……………………………………………53.2.2处理输入字符…………………………………………………………63.2.3进制的转换……………………………………………………………63.2.4设计总体认识…………………………………………………………73.2.5程序流程图……………………………………………………………84.运行结果…………………………………………………………………………85.测试分析…………………………………………………………………………95.1程序运行情况………………………………………………………………95.2程序异常处理………………………………………………………………96.源程序……………………………………………………………………………9参考文献……………………………………………………………………………27设计总结……………………………………………………………………………272摘要:本程序在框架中新建一个容器,用GridLayout类对面板进行划分,程序引入java.util.Date来显示当前时间;用一个永真循环,来对当前时间显示的更新,用java.io.File来实现对文件读写,设计了一个按钮,用来选择文件WAU或MID,用java.applet.Applet播放音乐文件,用getText()函数获取输入的闹钟设定时间,并永真循环和当前的时间进行对比,若相等则播放音乐,若不相等则显示离目标设定时间的差距.关键字:java时钟,时钟类,方法,事件1前言随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的时钟,可以清楚地知道时间和设定一个时间来提醒自己,满足日常基本的工作学习和生活需要。Java是由Sun公司开发的新一代纯面向对象的网络编程语言。其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。Java基本版本叫Java2标准版(Java2StandardEdition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API)。Java2移动版(TheJava2MobileEdition,J2ME)包含创建无线Java应用程序的API。还有Java2企业版(TheJava2Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。Java语言是由C++语言发展起而来的,是一种彻底的面向对象的程序设计语言。作为一种纯面向对象的程序设计语言,它非常适合大型软件的开发。Java语言去掉了C++语言的一些容易引起错误的特性。Java语言的特点有:面向对象、跨平台、安全性、多线程和图形功能强。32概要设计2.1开发环境开发平台:MicrosoftWindowsXPProfessionalServicePack2开发工具:JBuilder2007+JDK1.6.0_022.2时钟功能功能1:在时钟面板上,动态显示出当前时间。功能2:可以设定闹钟时间,且当时间到了设定的闹钟时间时,会播放音乐来提醒。功能3:可以随意解除设定的闹钟时间,再重新设定一个新的时间。功能4:按下清除‘开始’键,闹钟就开始设定好了,按“关闭”闹铃就停止。功能5:界面设计性化。2.3界面设计4图2.3时钟面板2.4类的框架结构图1、画出类的UML简图Clock类:Clock类中的变量ri,shi,fen,miao,dangqian,guanji:JLabelqueding,dakai:JButtonmusic,RI,SHI,FEN,MIAO:JTextField5h=0,f=0,m=0,r=0:intFo,foo:booleansoumd1:publicAudioClipClock类中的函数publicclock()publicstaticvoidmain(Stringagrs[])publicvoidrun()3详细设计主要模块算法描述(1)当前动态时间的显示的设计与实现。功能:可以实时的更新显示系统完整的时间算法:引入java.util.Date用while循环更新时间代码如下:publicvoidrun(){while(true){Datenow=newDate();//设置一个新的当前时间对象。dangqian.setText(当前时间:+now.toString());//显示当前的时间…}(2)音乐文件的选择。6功能:用打开按钮实现对本地音乐文件的选择算法:引入java.io.File和java.net.MalformedURLException来实现对音乐本地音乐文件的选择。代码如下: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(.wav)||name.endsWith(.au)||file.isDirectory();}publicStringgetDescription(){//文件描述return音乐文件(*.wav,*.au);}});(3)闹铃功能的实现功能:到达设定闹钟时间,会有输出文字及产生音乐。算法:读入Clock类中的时间,并设置一个Timer,每隔0.1秒进行比对,如果字符串之间匹配就显示,简化代码如下示意:publicvoidrun(){………if(fo){foo=true;RI.setEditable(false);//设定之后禁用输入功能SHI.setEditable(false);7FEN.setEditable(false);MIAO.setEditable(false);queding.setText(关闭);//关闭闹钟设定SimpleDateFormatri=newSimpleDateFormat(dd);//封装为了获取日期SimpleDateFormatshi=newSimpleDateFormat(HH);//封装为了获取小时SimpleDateFormatfen=newSimpleDateFormat(mm);//封装为了获取分钟SimpleDateFormatmiao=newSimpleDateFormat(ss);//封装为了获取秒钟riqi=Integer.parseInt(ri.format(now));//获取日期shizhong=Integer.parseInt(shi.format(now));//获取小时fenzhong=Integer.parseInt(fen.format(now));//获取分钟miaozhong=Integer.parseInt(miao.format(now));//获取秒钟if(riqi==r&&shizhong==h&&fenzhong==f&&miaozhong==m)//判断条件是否符合{try{soumd1=Applet.newAudioClip(newFile(music.getText()).toURL());//播放音乐soumd1.loop();//我设置的是循环播放..这样不起床都不行..fo=false;foo=false;}catch(MalformedURLExceptione){e.printStackTrace();}}}try{Thread.sleep(1000);}catch(InterruptedExceptionie){}}}JAVA设计的摘要JAVA设计的目录结构JAVA设计的概要和详细设计JAVA设计的版权意识JAVA设计需要编译的环境JAVA设计的实用性84运行结果图工作状态显示{js();}catch(This_number_too_bige){lab.setText(0);number=0;mark='n';9Refresh=false;System.out.println(Thenumberistoobig);}//如果出现异常则初始化效果如同clear键5.程序分析遇到问题5.1设置迷你闹钟的界面化时遇到问题通过参考已有的程序加以解决。5.2设置“闹铃时间”、“开关按钮”、“背景音乐列表框”时事件的触发和监控遇到问题经过反复修改调试得到解决。5.3闹铃背景音乐格式设置遇到问题,经过调试和格式转换解决。待解决问题闹钟的思想是“北京时间所以背景音乐中有《天涯共此时》音乐界面上有北京时间等标识本来想在界面上添加一幅具有北京特色的图片做背景但反复尝试遗憾的是均未能成功添加的背景图片总被上层面板遮挡希望老师给以指导。6程序清单:importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importsun.audio.*;importjava.io.*;publicclassJavaClockextendsJFrameimplementsActionListener,Runnable{/****/privatestaticfinallongserialVersionUID=-7303693253632593767L;Threadthread;10JPanelpanel1=newJPanel();JPanelpanel2=newJPanel();JPanelpanel3=newJPanel();JButtonbutton2=newJButton(开闹铃);JButtonbutton1=newJButton(确定);JComboBoxsComboBox,mComboBox,hComboBox;JLabellabel1=newJLabel(:);JLabellabel2=newJLabel(:);JLabella

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功