您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 打字测试软件课程设计报告书
软件学院课程设计报告书课程名称面向对象课程设计设计题目打字训练测试软件专业班级学号姓名指导教师2014年6月目录1设计时间...............................................12设计目的...............................................13设计题目...............................................14设计任务...............................................15设计内容...............................................15.1需求分析.............................................15.2基本要求.............................................16功能模块实现...........................................16.1包的描述.............................................16.2类的描述.............................................16.3页面设计.............................................26.4测试文字的加入........................................46.5测试时间设计.........................................56.6程序源代码...........................................68总结与展望............................................12参考文献................................................1411设计时间2014年6月16日-2014年6月20日2设计目的1.熟练掌握Java面向对象程序设计的基础知识2.熟练掌握Java中常用的Awt组件的使用方法3.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续的Java高级编程等专业课程的学习奠定良好的基础。3设计题目打字测试软件4设计任务打字测试软件。要求如下:(1)使用图形用户界面实现;(2)从文件中调入英文录入材料;(3)打字结束后给出错误率,录入时间。5设计内容5.1需求分析设计一个英文打在测试软件5.2基本要求1.文件中调入英文录入材料2.最后给出错误率3.最后给出平均录入速度6功能模块实现6.1包的描述由于本次实验使用的类较少,所有的类都建在同一个包下,本次实验也只用到一个包。6.2类的描述Typing类:主要的构造都在这个类中。2Mykey类:是该程序的一个内部类。6.2.1类之间的关系Typing类作为主函数的入口,调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能;从而达到打字训练测试的目的。6.2.2类图如图6-1所示图6-1类图6.3页面设计finalStringTITLE=光速打字系统;privateFramef;privateButtonbtStart,btContinue;privatePanelpnEast,pnCenter,pnNorth;FontfontTitle=newFont(黑体,Font.BOLD,30);FontfontButton=newFont(宋体,Font.BOLD,24);privateLabellbMessage,lbTitle;//tfSource用于显示要练习的文字,tfInput用户输入框privateTextAreataSource,taInput;3//总字数和错误的字数privatelongwordCount,inputWordCount,rightWordCount;//开始,结束时间,用户练习所用的时间privatelongstartTime,overTime,userTime;/**初始化控件*/privatevoidstart(){f=newFrame(TITLE+by牛帅);//窗体标题f.setSize(600,430);f.setResizable(false);//禁止调整窗体的大小pnEast=newPanel();pnCenter=newPanel();btStart=newButton(开始);btStart.setFont(fontButton);btContinue=newButton(完成);btContinue.setFont(fontButton);taSource=newTextArea(10,60);//taSource.lbTitle=newLabel(TITLE);lbTitle.setFont(fontTitle);//taSource.setEnabled(false);taSource.setEditable(false);pnNorth=newPanel();lbMessage=newLabel(想练习打字的话,请先点击[开始按钮]哦!);taSource.setText(想练习打字的话,请先点击[开始按钮]哦!);taInput=newTextArea(10,60);taInput.setText(欢迎使用+TITLE);btContinue.setEnabled(false);//窗体布局//窗体使用默认的GridLayout布局4f.add(pnNorth,North);pnNorth.add(lbTitle);//pnEast.add(lbMessage,South);f.add(lbMessage,South);f.add(pnEast,East);pnEast.add(btStart);pnEast.add(btContinue);f.add(pnCenter,Center);pnCenter.add(taSource);pnCenter.add(taInput);//添加监听器f.addWindowListener(newClosingWindow());//启用窗体的功能按钮btStart.addMouseListener(newButtonHandler());btContinue.addMouseListener(newButtonHandler());f.setVisible(true);}如图6-2所示图6-2打字测试软件界面图6.4测试文字的加入5程序中,通过随机读取当前项目下的txt文件,随机方式是用Random()生0-3之间的数,添加“.txt”后缀,文件位置如图6-3所示。图6-3文件位置图代码实现部分:if(e.getSource()==btStart){//获取练习用的文字file=rd.nextInt(3)+.txt;//System.out.println(打开的文件是:+file);taSource.setText(fileToString(text/+file));taInput.setText();lbMessage.setText(亲,您现在可以练习了!加油!!);startTime=System.currentTimeMillis();btStart.setEnabled(false);btContinue.setEnabled(true);}6.5测试时间设计为了能够更方便地设置时间,在程序中用startTime,overTime,userTime三个变量来保存时间。startTime是用来保存用户开始测试的系统时间,overTime是用来保存用户结束测试时的系统时间,相减得到用户测试所用的总时间(userTime)。通过startTime=System.currentTimeMillis()获得当前系统的时间。66.6程序源代码packagebuttonAction02;/**已经实现了按钮的单击事件了*练习资料是以txt文件形式放在项目目录下text目录里**/importjava.awt.*;importjava.awt.event.*;importjava.util.Random;importjava.io.*;publicclassTyping{finalStringTITLE=光速打字系统;privateFramef;privateButtonbtStart,btContinue;privatePanelpnEast,pnCenter,pnNorth;FontfontTitle=newFont(黑体,Font.BOLD,30);FontfontButton=newFont(宋体,Font.BOLD,24);privateLabellbMessage,lbTitle;//tfSource用于显示要练习的文字,tfInput用户输入框privateTextAreataSource,taInput;//总字数和错误的字数privatelongwordCount,inputWordCount,rightWordCount;//开始,结束时间,用户练习所用的时间privatelongstartTime,overTime,userTime;/**初始化控件*/privatevoidstart(){f=newFrame(TITLE+by曹世龙);//窗体标题f.setSize(600,430);f.setResizable(false);//禁止调整窗体的大小7pnEast=newPanel();pnCenter=newPanel();btStart=newButton(开始);btStart.setFont(fontButton);btContinue=newButton(完成);btContinue.setFont(fontButton);taSource=newTextArea(10,60);lbTitle=newLabel(TITLE);lbTitle.setFont(fontTitle);//taSource.setEnabled(false);taSource.setEditable(false);pnNorth=newPanel();lbMessage=newLabel(想练习打字的话,请先点击[开始按钮]哦!);taSource.setText(想练习打字的话,请先点击[开始按钮]哦!);taInput=newTextArea(10,60);taInput.setText(欢迎使用+TITLE);btContinue.setEnabled(false);//窗体布局//窗体使用默认的BorderLayout布局f.add(pnNorth,North);pnNorth.add(lbTitle);//pnEast.add(lbMessage,South);f.add(lbMessage,South);f.add(pnEast,East);pnEast.add(btStart);pnEast.add(btContinue);f.add(pnCenter,Center);pnCenter.add(taSource);pnCenter.add(taInput);8//添加监听器f.addWindowListener(newClosingWindow());//启用窗体的功能按钮btStart.addMouseListener(newButtonHandler());btContinue.addMouseListener(newButtonHandler());f.setVisible(true);}/**接收按钮的事件*/classButt
本文标题:打字测试软件课程设计报告书
链接地址:https://www.777doc.com/doc-5525954 .html