基于JAVA的打字练习软件的设计与实现_第1页
基于JAVA的打字练习软件的设计与实现_第2页
基于JAVA的打字练习软件的设计与实现_第3页
基于JAVA的打字练习软件的设计与实现_第4页
基于JAVA的打字练习软件的设计与实现_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于JAVA的打字练习软件的设计与实现摘 要二十世纪的后半期,尤其是90年代后,计算机取得了飞速的发展。近来,随着网络的发展,计算机已经成为人们生活中不可缺少的一部分。提高人们对计算机的操作能力显得尤为重要。而打字速度是衡量一个人操作熟练程度的一个重要方面。因此开发一种高效的打字系统显得迫在眉睫。随着科学技术的不断提高,计算机科学日渐成熟,计算机已经深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这样一个小程序,同时也是我的毕业设计,希望能对电脑初学者和想提高打字速度的朋友们有所帮助。

2、关键词:打字练习 文字录入 打字速度 Based on JAVA typing practice software design and implementationAbstractIn the second half of the 20th century, especially after the 1990s, the computer has made rapid development. Recently, with the development of the network, computers have become the people the indispensable pa

3、rt in life. Improve the operation ability of computer people appear especially important. While typing speed is the measure of a man operating skilled degree of a important aspects. So developing a efficient typing system appears imminent. Along with the science and technology unceasing enhancement,

4、 the computer science is mature day after day, the computer to have in-depth work and each corners of the life, language school is a very important part of learning computer. In the handwritten typed technology and speech recognition technology is not perfect and most people are still in use the key

5、board as language school tools. So I made such a small program, and also my graduation design, in hopes of computer novices and want to improve typing speed friends helpKey Words:Typing practice Text entry Typing speed目 录第一章 绪论11.1课题背景及选题意义11.2打字练习软件的国内外研究现状11.3论文结构1第二章 系统分析22.1系统需求分析22.2软件开发环境和方法22

6、.3主要功能简介22.3.1键盘练习22.3.2简码练习32.3.3文章练习32.3.4速度测试32.3.5编码查询42.3.6帮助4第四章 软件界面与代码的设计54.1软件界面,如图 4.1 所示。54.2实现退出功能,如图1.3。64.3.1界面设计。74.3.2、实现功能的主要代码:10第五章 性能测试与分析13第六章 总结与展望13致 谢14参考文献14第一章 绪论1.1课题背景及选题意义打字软件主要针对的是电脑初学者,那就怎么把软件的内容设计得更容易,更有吸引力,把界面设计得更美观,更友好,就成了本软件的重点要解决的问题。拟采用的研究手段:本打字练习软件主要分为六个模块,分别为:键盘

7、练习,简码练习,文章练习,速度测试,编码查询,帮助。其中速度测试模块和键盘练习模块是主要模块,其他为此要模块。1.2打字练习软件的国内外研究现状调查显示,熟练的打字水平应该为英文每分钟150字母,中文30字每分钟。据统计,电脑的使用者中约有70%以上的人远远达不到这个水平。其中更有30%的人,有熟练打字的意愿,却缺乏好的打字软件而讲究着自己的打字的“龟速”。教学间隔时间长。由于小学信息技术课每星期只有一节,在课堂练完后不能及时巩固,前后间隔时间6天,教完就忘的现象很严重,导致以后的教学内容不能正常进行。 打字练习相对枯燥。与小学生爱玩好动的特征相比,打字练习并不有趣,打字时不仅要注意字母,还要

8、注意指法,很多同学在坚持了五分钟后就开始有厌倦情绪,这给完成打字练习任务带来了很大的障碍。键盘输入是人与电脑沟通的主要桥梁,是一项一朝学会终身受益的基本技能至少在目前以键盘为主要输入设备的时候,它就像中国人吃饭使用筷子,写字使用笔一样,伴随着我们的终身。因此键盘输入教学作为小学信息技术教学的一个模块,有其重要的地位和作用。对于键盘输入的教学,我们需要趁热打铁。 1.3论文结构一、绪论。主要介绍课题背景及选题意义,在国内外的研究现状。二、系统分析。主要介绍系统的需求分析,开发环境,主要功能。三、系统功能设计。主要介绍系统的功能具体设计。四、性能测试与分析。第二章 系统分析2.1系统需求分析 本课

9、题为打字练习软件。主要是为了解决使用者们的打字练习,主要是为了给初学五笔的人员以帮助之用。现在人们大多不会用五笔这种中国特色的汉字输入法。本软件设计的目的就是为了让更多的人学习这种输入法。 各功能需求如下: 初学者 :键盘练习、简码练习、文章练习、速度测试 、编码查询、帮助。已学者:简码练习、文章练习、速度测试、编码查询、帮助。2.2软件开发环境和方法 本打字练习软件可以运行于windows操作系统和linux操作系统。是多操作系统的软件,不只是能在windows操作系统上运行,还可以在linux上运行,因为这个打字练习软件是利用java编写的。它实现了一处编写处处运行的java特性。很好的解

10、决了因为操作系统差异而造成的问题。这个打字练习软件界面是由Java自带的类编写的。Java有自已的java.awt和javax.swing包可以实现界面的给出。虽然这个界面并不是最好的,但是这个界面编写可以减少开发的时间。2.3主要功能简介根据以上的需求分析,这个软件主要设计了键盘练习,简码练习,文章练习,速度测试,编码查询,帮助等功能。下面一一介绍。2.3.1键盘练习采用英文打字来练习。初学者对于键盘是不熟悉的,而键盘是外国人发明的,要想学习打字就必需要学习熟悉键盘的布局,以及正确的指法。本功能可以帮助初学者练习掌握键盘布局和熟悉键盘的键位,为以后的学习和练习打下基础。初学者还可以结合帮助来

11、练习。系统会在用户点击键盘练习按钮后,调出一篇英语文章来,通过英文的打字练习来熟悉键盘,从而达到练习的目的。2.3.2简码练习 这个功能是为了练习五笔打字的,五笔打字中有些字是不用打全码的,打简码就可以了,这样主可以大大简化了,汉字的输入。可以说五笔简码是比较有用的,犹其像初学者这样的人员。再者说,简码的使用,减少了敲击键盘的次数,这也是五笔的精华之所在。用户通过点击简码练习按钮,系统会调用相应文字出来,用户可以比对上面给出来的文字,在下面打出来,以此来练习。2.3.3文章练习文章练习的功能主要是对前面学习以及练习的加以强化,从应用的方面来练习打字。文章的字更像我们日常生活之所用,是非常好的提

12、升打字水平的非常有用的方法和策略。通过文章的练习,初学者们一般都会有一个好的水平的。学习打字员的目的就是为了快速的与计算机交流,以及和网友交流。用户通过点击文章练习按钮,系统会调用相应文文章出来,用户可以比对上面给出来的文字,在下面打出来,以此来练习。文章是连贯的文字。2.3.4速度测试这个功能主要是为了检测个人的打字水平是怎么一个水平,主要是通过打汉字的方式来检测打字的快慢,这一功能是这个软件的最主要的功能之一。用户通过点击速度测试系统会随机调用一篇文章给用户,用户通过对照上面给出的文章内容,在下面打出相同的文章来。系统会自动记者所用的时间,通过时间来计算用户打字的平均速度。2.3.5编码查

13、询这个功能是打字练习软件所必需的。任何人都不可能是记得所有汉字的五笔编码的,初学者更不必说。因此,这一功能也是非常的重要。用户可以根据自己的实际需要来使用这一功能。用户点击查询按钮后,系统给出一个界面,用户可以输入汉字,点击查询后,系统会把查询结果显示出来。2.3.6帮助这个功能是每个软件都是会有的一个功能。在这个功能上用户会得到老大老多的帮助。用户通过点击这个功能,系统给出几项帮助,用户可以根据自身的需要点击相应的帮助。第三章 系统功能设计3.1系统总体设计 3.1.1运行环境 l 操作系统:Windows linuxl 安装 Myeclipse 3.1.2系统总体功能描述 系统功能设计图。

14、如图 3.1 所示。图 3.1 系统功能设计图第四章 软件界面与代码的设计4.1软件界面,如图 4.1 所示。图4.1 软件主界面实现的相关代码: JFrame.setDefaultLookAndFeelDecorated(true); frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container container = frame.getContentPane(); container.add(this, BorderLayout.CENTER); this.setPreferred

15、Size(new java.awt.Dimension(800, 550); frame.setTitle(疯狂打字通); Image ico=Toolkit.getDefaultToolkit().getImage(Image/f.gif); frame.setIconImage(ico); frame.setResizable(false); screen=toolkit.getScreenSize(); frame.setLocation(screen.width-800)/2,screen.height/2-600/2);/窗口定位 /添加菜单 fMenu = new JMenuBar

16、();frame.setJMenuBar(fMenu);fMenu.setPreferredSize(new java.awt.Dimension(392, 23);fMenuSys = new JMenu();fMenu.add(fMenuSys);fMenuSys.setText(系统(S);fMenu.add(fMenuLx);fMenuLx.setText(练习(E);fMenu.add(fMenuTest);fMenuTest.setText(测试(T);fMenu.add(fMenuHelp);fMenuHelp.setText(帮助(H);/添加工具条.tool=new Tool

17、(this);this.add(tool,1);/添加聊天工具条Chat chat=new Chat(this);this.add(chat,2); frame.pack(); frame.setVisible(true);/添加按钮btnJP=new JButton(键盘练习,image);btnJM=new JButton(简码练习,image);btnWZ=new JButton(文章练习,image);btnLocalTest=new JButton(速度测试,image);btnBMCX=new JButton(编码查询,image);btnHelp=new JButton(帮 助,

18、image);btnExit=new JButton(退出系统,image);4.2实现退出功能,如图4.2。图4.2 退出图实现的相关代码:if(PublicData.onChoice=true)if(e.getSource()=fMenuExit)int i=JOptionPane.showConfirmDialog(this,你真的要退出吗?,疯狂打字,JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);if(i=0)System.exit(0);4.3软件的主要功能设计 4.3.1界面设计。 软件的打字用户操作界面。 键盘练习的操作

19、界面如图 4.3所示:图 4.3 键盘练习操作简码练习的操作界面如图4.4所示。图4.4 简码练习文章练习的用户操作界面如图4.5所示。图4.5文章练习速度测试的操作界面如图4.6所示图4.6速度测试编码查询界面如图4.7所示。图4.7编码查询4.3.2、实现功能的主要代码:/记录输入的正确和错误的个数据private int rightWord=0;private int errorWord=0;private int rightCount=0;private int errorCount=0;private int wordCount=0;private boolean temp=true

20、;public Editor(Hint parent)this.parent=parent;th=new Thread(this);/组建Editor用户界面. this.setPreferredSize(new java.awt.Dimension(657, 325);/内部窗体大小 (javax.swing.plaf.basic.BasicInternalFrameUI) this.getUI().setNorthPane(null); this.putClientProperty(JInternalFrame.isPalette, Boolean.TRUE);getContentPane

21、().setLayout(null); this.setVisible(true);pAttrib = new JPanel();getContentPane().add(pAttrib, new GridBagConstraints(1, 0, 12, 3, 0.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0);FlowLayout pAttribLayout = new FlowLayout();pAttrib.setBorder(BorderFact

22、ory.createTitledBorder();pAttrib.setLayout(pAttribLayout);pAttrib.setBounds(-2, 33, 658, 42);txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag);Empty empty=new Empty();empty.start();this.pack(); txtNewText.requestFocus(); th.start();/判断正确和错误的字.并改变它们的颜色 public void chDocs(int

23、 xLen,int yLen,String xStr,String yStr) SimpleAttributeSet attrSet=new SimpleAttributeSet(); for(int i=1;i=xLen;i+) if(i=yLen) /数据验证 if(xStr.substring(i-1,i).equals(yStr.substring(i-1,i) rightWord+; StyleConstants.setForeground(attrSet,Color.BLUE); elseerrorWord+; StyleConstants.setForeground(attrSe

24、t,Color.RED); StyleConstants.setUnderline(attrSet,true); elseStyleConstants.setForeground(attrSet,Color.BLACK); StyleConstants.setUnderline(attrSet,false); styledDoc.setCharacterAttributes(i-1,1,attrSet,true); txtRight.setText(rightWord+rightCount)+); txtError.setText(errorWord+errorCount)+); int c=

25、0; for(int i=0;itxtNewText.getText().length() if(PublicData.Lang.equals(English)PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(),txtNewText.getText().length()+1);if(PublicData.Lang.equals(Chinese)PublicData.key=;txtCount.setText(txtNewText.getText().length()+wordCount)+);

26、elsewordCount=wordCount+txtOriginal.getText().length(); rightCount=rightCount+rightWord; errorCount=errorCount+errorWord;txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag); if(PublicData.Lang.equals(English)PublicData.key=txtOriginal.getText().substring(0,1);this.parent.repa

27、int();if(PublicData.Lang.equals(Chinese)PublicData.key=;this.parent.repaint(); /退出时所要关闭的窗体private void exitFram()System.gc();/计时器class Empty extends Threadpublic void run()while(true)tryThread.sleep(100);dataValidate();if(txtNewText.getText().length()=txtOriginal.getText().length()txtNewText.setText

28、();catch(InterruptedException e)第五章 性能测试与分析经过本人的亲自测试,软件运行正常,基本实现了我想要的最终目的。本软件(项目)可以在myeclipse中直接导入进来,然后在运行。由于是java语言编写的程序所以可以在linux上正常运行。经过在linux操作系统上测试,发现可以在其上运行。这与当初的想法相一至。第六章 总结与展望虽然现在的打字练习软件有多种,输入法也很多,但是我认为作为一名计算机方面的工作者,理应练习打字,加快自己的打字速度,而且这也是作为一个IT人员所必需的,而对于一般人员来说,打字速度也非常重要,网络飞速发展的今天,网上即时聊天成为越来越多人所必需的一种生活方试,而且在网上聊天的人大多来自五湖四海,语言上的差异越来越明显,而我们中国的汉字是表示意义的,一个字读音有可能不一样,但是写出来大家都是明白的,也就是说,我们在与不同地方人聊天的时候用打字的方试是比较理想的一种方试,而在众多的输入法中,五笔输入法是一种没有音码的输入法,年纪较大的人群大多使用这一输入法。这也是重码最少的常用输入法。我个人认为,我们应该学习这种输入法,我所写的这个软件,就是一种练习这种输入法的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论