您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Java电子计时器软件设计报告
佛山科学技术学院《可视化编程技术》课程设计报告电子计时器软件设计学生姓名:李泳东学号:2011914213年级专业:11级教育技术学2班指导老师:容汝佳学院:教育科学学院广东★佛山提交日期:2013年6月1目录1.前言………………………………………………………………………………22.概要设计…………………………………………………………………………32.1开发环境……………………………………………………………………32.2电子钟计时器功能…………………………………………………………32.3界面设计……………………………………………………………………32.4类的框架结构图……………………………………………………………43.详细设计………………………………………………………………………43.1使用的JAVA类的说明……………………………………………………43.2类的主要方法………………………………………………………………53.2.1时钟钟面类对象设计和按键处理………………………………………63.2.2运行处理………………………………………………………………73.2.3设计总体认识…………………………………………………………93.2.4程序流程图……………………………………………………………94.运行结果………………………………………………………………………105.测试分析………………………………………………………………………105.1程序运行情况……………………………………………………………105.2程序异常处理……………………………………………………………116.源程序…………………………………………………………………………11参考文献……………………………………………………………………………20设计总结……………………………………………………………………………202摘要:该程序是一个图形界面的简单的java小时钟嵌套一个简单的秒表,具有良好的、简介的界面。它是图形界面、线程、流与文件等技术的综合运用,其界面主要采用了java.awt包,javax.swing等。程序实现了小时钟的基本功能。可以从电脑上获得准确的背景时间,其时间精确到秒,可以获得准确的星期、日期。时钟的界面静中带动,秒表跳动。使用人员能快捷简单地进行操作秒表,即时准确地计算时间,对人们的生活有一定的帮助。关键字: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开发环境开发平台:MicrosoftWindows7ProfessionalServicePack2开发工具:eclipse2.2计算器功能功能1:获得准确的背景时间,这时小时钟最基本的功能。功能2:按下“开始”键,开始计时,秒表跳动。功能3:按下“停止”键,停止计时,秒表的时间停留在按下“停止”键的那一刻。功能4:。按下“继续”键,秒表继续运行,不会从0开始,富有人性化。功能5:按下“重设”键,秒表归零。2.3界面设计电子钟和计时器面板42.4类的框架结构图classClockPaintextendsJPanelimplementsActionListener,Runnablepublicshizhongandjishiqi()publicvoidwindowClosing()publicvoidactionPerformed()publicvoidrun()classClockPaintextendsJPanelimplementsRunnablepublicClockPaint()publicvoidpaint(Graphicsg)3详细设计3.1计算器使用的Java类的说明类名:shizhongandjishiqi作用:主类。继承的父类:Frame类实现的接口:ActionListener类,Runnable类publicclassshizhongandjishiqiextendsJFrameimplementsActionListener,Runnable53.2类的主要方法3.2.1时钟钟面类对象设计和按键处理:publicshizhongandjishiqi(intr){//创建时钟钟面类对象btnStart=newJButton(开始);btnPause=newJButton(停止);btnResume=newJButton(继续);btnStop=newJButton(重设);lblTime=newJLabel(00:00:00.00);setLayout(null);btnStart.addActionListener(this);btnPause.addActionListener(this);btnResume.addActionListener(this);btnStop.addActionListener(this);ClockPaintcp=newClockPaint(r);this.add(cp);cp.setBounds(0,0,r*5,r*3);this.add(btnStart);btnStart.setBounds(10,r*4,80,40);this.add(btnPause);btnPause.setBounds(135,r*4,80,40);this.add(btnResume);btnResume.setBounds(265,r*4,80,40);this.add(btnStop);btnStop.setBounds(395,r*4,80,40);this.add(lblTime);lblTime.setBounds(210,340,100,50);this.setTitle(Clock2);this.setSize(r*5,r*5);this.setVisible(true);this.setAlwaysOnTop(true);//设置为窗口总在前面显示this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);//窗口‘关闭’按钮事件处理}6});}按键:if(btn.getText().equals(开始)){th=newThread(this);count=0;th.start();}elseif(btn.getText().equals(停止)){th.suspend();//因为要继续几时,不能使用stop命令}elseif(btn.getText().equals(继续)){th.resume();//继续}elseif(btn.getText().equals(重设)){lblTime.setText(00:00:00:00);//归零}}publicstaticvoidmain(String[]s){//主程序newshizhongandjishiqi(100);}3.2.2运行处理:publicvoidrun(){while(true){intms,seconds,minutes,hours;Stringmsg=;hours=(int)(count/3600000);minutes=(int)((count-hours*3600000)/60000);seconds=(int)((count-hours*3600000-minutes*760000)/500);ms=(int)(count%1000);if(hours10){msg+=0+hours+:;}else{msg+=hours+:;}if(minutes10){msg+=0+minutes+:;}else{msg+=minutes+:;}if(seconds10){msg+=0+seconds+:;}else{msg+=seconds+:;}if(ms10){msg+=00+ms;}elseif(ms100){msg+=0+ms;}else{msg+=ms;}lblTime.setText(msg);count++;try{Thread.sleep(1);}catch(InterruptedExceptione){e.printStackTrace();}}}}83.2.3设计的总体认识JAVA设计的摘要JAVA设计的目录结构JAVA设计的概要和详细设计JAVA设计的版权意识JAVA设计需要编译的环境JAVA设计的实用性3.2.4程序流程图开始重设停止继续不能重复按94运行结果计时器结果显示5测试分析5.1程序运行情况:程序正常的响应按钮事件,在按“开始”键之后,能正常计时,可以正常显示,但如果重新按“开始”键的时候,则会重新计时,其他按键将会失去效果,这个时候就要对结果进行必要的异常处理,但是这个问题还没有得到解决。105.2程序异常处理:计时器的异常处理:有待解决。时钟的异常处理:while(true){try{Thread.sleep(1000);//休眠一秒}catch(InterruptedExceptionie){//当程序出现异常,弹出对话框提示JOptionPane.showMessageDialog(this,ie.getMessage(),程序异常,JOptionPane.ERROR_MESSAGE);}s+=6;//每过1秒,秒针角度增加6度if(s%360==0){m+=6;//秒针每走一周,分针角度增加6度if(m%72==0)h+=6;//当秒针角度为360°的倍数(即秒针指向12),且分针角度为72°的倍数时,时针角度增加6°即走到下一个刻点}this.repaint();//重新绘制钟面,系统自动调用paint(Graphicsg)}6源程序:package作品;importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;publicclassshizhongandjishiqiextendsJFrameimplementsActionListener,Runnable{Threadth;//JMenuBarmenubar;//JMenufilemenu;JButtonbtnStart;JButtonbtnPause;JButtonbtnResume;JButtonbtnStop;JLabellblTime;longcount;11publicsh
本文标题:Java电子计时器软件设计报告
链接地址:https://www.777doc.com/doc-5600622 .html