基于JAVA的打字练习软件的设计与实现Word文件下载.docx

上传人:b****5 文档编号:16647529 上传时间:2022-11-25 格式:DOCX 页数:15 大小:225.11KB
下载 相关 举报
基于JAVA的打字练习软件的设计与实现Word文件下载.docx_第1页
第1页 / 共15页
基于JAVA的打字练习软件的设计与实现Word文件下载.docx_第2页
第2页 / 共15页
基于JAVA的打字练习软件的设计与实现Word文件下载.docx_第3页
第3页 / 共15页
基于JAVA的打字练习软件的设计与实现Word文件下载.docx_第4页
第4页 / 共15页
基于JAVA的打字练习软件的设计与实现Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于JAVA的打字练习软件的设计与实现Word文件下载.docx

《基于JAVA的打字练习软件的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于JAVA的打字练习软件的设计与实现Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

基于JAVA的打字练习软件的设计与实现Word文件下载.docx

打字练习相对枯燥。

与小学生爱玩好动的特征相比,打字练习并不有趣,打字时不仅要注意字母,还要注意指法,很多同学在坚持了五分钟后就开始有厌倦情绪,这给完成打字练习任务带来了很大的障碍。

键盘输入是人与电脑沟通的主要桥梁,是一项一朝学会终身受益的基本技能——至少在目前以键盘为主要输入设备的时候,它就像中国人吃饭使用筷子,写字使用笔一样,伴随着我们的终身。

因此键盘输入教学作为小学信息技术教学的一个模块,有其重要的地位和作用。

对于键盘输入的教学,我们需要趁热打铁。

1.3论文结构

一、绪论。

主要介绍课题背景及选题意义,在国内外的研究现状。

二、系统分析。

主要介绍系统的需求分析,开发环境,主要功能。

三、系统功能设计。

主要介绍系统的功能具体设计。

四、性能测试与分析。

第二章系统分析

2.1系统需求分析

本课题为打字练习软件。

主要是为了解决使用者们的打字练习,主要是为了给初学五笔的人员以帮助之用。

现在人们大多不会用五笔这种中国特色的汉字输入法。

本软件设计的目的就是为了让更多的人学习这种输入法。

各功能需求如下:

初学者:

键盘练习、简码练习、文章练习、速度测试、编码查询、帮助。

已学者:

简码练习、文章练习、速度测试、编码查询、帮助。

2.2软件开发环境和方法

本打字练习软件可以运行于windows操作系统和linux操作系统。

是多操作系统的软件,不只是能在windows操作系统上运行,还可以在linux上运行,因为这个打字练习软件是利用java编写的。

它实现了一处编写处处运行的java特性。

很好的解决了因为操作系统差异而造成的问题。

这个打字练习软件界面是由Java自带的类编写的。

Java有自已的java.awt和javax.swing包可以实现界面的给出。

虽然这个界面并不是最好的,但是这个界面编写可以减少开发的时间。

2.3主要功能简介

根据以上的需求分析,这个软件主要设计了键盘练习,简码练习,文章练习,速度测试,编码查询,帮助等功能。

下面一一介绍。

2.3.1键盘练习

采用英文打字来练习。

初学者对于键盘是不熟悉的,而键盘是外国人发明的,要想学习打字就必需要学习熟悉键盘的布局,以及正确的指法。

本功能可以帮助初学者练习掌握键盘布局和熟悉键盘的键位,为以后的学习和练习打下基础。

初学者还可以结合帮助来练习。

系统会在用户点击键盘练习按钮后,调出一篇英语文章来,通过英文的打字练习来熟悉键盘,从而达到练习的目的。

2.3.2简码练习

这个功能是为了练习五笔打字的,五笔打字中有些字是不用打全码的,打简码就可以了,这样主可以大大简化了,汉字的输入。

可以说五笔简码是比较有用的,犹其像初学者这样的人员。

再者说,简码的使用,减少了敲击键盘的次数,这也是五笔的精华之所在。

用户通过点击简码练习按钮,系统会调用相应文字出来,用户可以比对上面给出来的文字,在下面打出来,以此来练习。

2.3.3文章练习

文章练习的功能主要是对前面学习以及练习的加以强化,从应用的方面来练习打字。

文章的字更像我们日常生活之所用,是非常好的提升打字水平的非常有用的方法和策略。

通过文章的练习,初学者们一般都会有一个好的水平的。

学习打字员的目的就是为了快速的与计算机交流,以及和网友交流。

用户通过点击文章练习按钮,系统会调用相应文文章出来,用户可以比对上面给出来的文字,在下面打出来,以此来练习。

文章是连贯的文字。

2.3.4速度测试

这个功能主要是为了检测个人的打字水平是怎么一个水平,主要是通过打汉字的方式来检测打字的快慢,这一功能是这个软件的最主要的功能之一。

用户通过点击速度测试系统会随机调用一篇文章给用户,用户通过对照上面给出的文章内容,在下面打出相同的文章来。

系统会自动记者所用的时间,通过时间来计算用户打字的平均速度。

2.3.5编码查询

这个功能是打字练习软件所必需的。

任何人都不可能是记得所有汉字的五笔编码的,初学者更不必说。

因此,这一功能也是非常的重要。

用户可以根据自己的实际需要来使用这一功能。

用户点击查询按钮后,系统给出一个界面,用户可以输入汉字,点击查询后,系统会把查询结果显示出来。

2.3.6帮助

这个功能是每个软件都是会有的一个功能。

在这个功能上用户会得到老大老多的帮助。

用户通过点击这个功能,系统给出几项帮助,用户可以根据自身的需要点击相应的帮助。

第三章系统功能设计

3.1系统总体设计

3.1.1运行环境

●操作系统:

Windowslinux

●安装Myeclipse

3.1.2系统总体功能描述

系统功能设计图。

如图3.1所示。

图3.1系统功能设计图

第四章软件界面与代码的设计

4.1软件界面,如图4.1所示。

图4.1软件主界面

实现的相关代码:

JFrame.setDefaultLookAndFeelDecorated(true);

frame=newJFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Containercontainer=frame.getContentPane();

container.add(this,BorderLayout.CENTER);

this.setPreferredSize(newjava.awt.Dimension(800,550));

frame.setTitle("

疯狂打字通"

);

Imageico=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=newJMenuBar();

frame.setJMenuBar(fMenu);

fMenu.setPreferredSize(newjava.awt.Dimension(392,23));

fMenuSys=newJMenu();

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=newTool(this);

this.add(tool,1);

//添加聊天工具条

Chatchat=newChat(this);

this.add(chat,2);

frame.pack();

frame.setVisible(true);

//添加按钮

btnJP=newJButton("

键盘练习"

image);

btnJM=newJButton("

简码练习"

btnWZ=newJButton("

文章练习"

btnLocalTest=newJButton("

速度测试"

btnBMCX=newJButton("

编码查询"

btnHelp=newJButton("

帮助"

btnExit=newJButton("

退出系统"

4.2实现退出功能,如图4.2。

图4.2退出图

if(PublicData.onChoice==true){

if(e.getSource()==fMenuExit){

inti=JOptionPane.showConfirmDialog(this,"

你真的要退出吗?

"

"

疯狂打字"

JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);

if(i==0){

System.exit(0);

4.3软件的主要功能设计

4.3.1界面设计。

软件的打字用户操作界面。

键盘练习的操作界面如图4.3所示:

图4.3键盘练习操作

简码练习的操作界面如图4.4所示。

 

图4.4简码练习

文章练习的用户操作界面如图4.5所示。

图4.5文章练习

速度测试的操作界面如图4.6所示

图4.6速度测试

编码查询界面如图4.7所示。

图4.7编码查询

4.3.2、实现功能的主要代码:

//记录输入的正确和错误的个数据

privateintrightWord=0;

privateinterrorWord=0;

privateintrightCount=0;

privateinterrorCount=0;

privateintwordCount=0;

privatebooleantemp=true;

publicEditor(Hintparent){

this.parent=parent;

th=newThread(this);

//组建Editor用户界面....

this.setPreferredSize(newjava.awt.Dimension(657,325));

//内部窗体大小

((javax.swing.plaf.basic.BasicInternalFrameUI)this.getUI()).setNorthPane(null);

this.putClientProperty("

JInternalFrame.isPalette"

Boolean.TRUE);

getContentPane().setLayout(null);

this.setVisible(true);

pAttrib=newJPanel();

getContentPane().add(pAttrib,newGridBagConstraints(1,0,12,3,0.0,0.0,GridBagConstraints.NORTH,GridBagConstraints.HORIZONTAL,newInsets(0,0,0,0),0,0));

FlowLayoutpAttribLayout=newFlowLayout();

pAttrib.setBorder(BorderFactory.createTitledBorder("

));

pAttrib.setLayout(pAttribLayout);

pAttrib.setBounds(-2,33,658,42);

txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag));

Emptyempty=newEmpty();

empty.start();

this.pack();

txtNewText.requestFocus();

th.start();

//判断正确和错误的字.并改变它们的颜色

publicvoidchDocs(intxLen,intyLen,StringxStr,StringyStr){

SimpleAttributeSetattrSet=newSimpleAttributeSet();

for(inti=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);

}

else{errorWord++;

StyleConstants.setForeground(attrSet,Color.RED);

StyleConstants.setUnderline(attrSet,true);

else{StyleConstants.setForeground(attrSet,Color.BLACK);

StyleConstants.setUnderline(attrSet,false);

styledDoc.setCharacterAttributes(i-1,1,attrSet,true);

txtRight.setText((rightWord+rightCount)+"

txtError.setText((errorWord+errorCount)+"

intc=0;

for(inti=0;

minute;

c=c+60;

c=c+second;

doubles=(double)c/60;

txtMW.setText("

+Math.round(((double)Integer.parseInt(txtRight.getText()))/s));

}

//实现DocumentListener所有的方法..用于监听输入文本...

publicvoidchangedUpdate(DocumentEvente){

if(PublicData.Lang.equals("

English"

)){

PublicData.key=txtOriginal.getText().substring(txtNewText.getText().length(),

txtNewText.getText().length()+1);

this.parent.repaint();

Chinese"

PublicData.key="

;

publicvoidinsertUpdate(DocumentEvente){

txtNewText.getText().length()+1);

}catch(StringIndexOutOfBoundsExceptionstr){}

this.parent.repaint()}

}}

publicvoidremoveUpdate(DocumentEvente){

//数据验证

privatevoiddataValidate(){

chDocs(txtOriginal.getText().length(),txtNewText.getText()

.length(),txtOriginal.getText(),txtNewText.getText());

if(txtOriginal.getText().length()>

txtNewText.getText().length()){

if(PublicData.Lang.equals("

PublicData.key="

txtCount.setText((txtNewText.getText().length()+wordCount)+"

else{wordCount=wordCount+txtOriginal.getText().length();

rightCount=rightCount+rightWord;

errorCount=errorCount+errorWord;

txtOriginal.setText(DistillText.getData(PublicData.Text,PublicData.textTag));

PublicData.key=txtOriginal.getText().substring(0,1);

this.parent.repaint();

}

if(PublicData.Lang.equals("

//退出时所要关闭的窗体

privatevoidexitFram(){

System.gc();

//计时器

classEmptyextendsThread{

publicvoidrun(){

while(true){

try{

Thread.sleep(100);

dataValidate();

if(txtNewText.getText().length()>

=txtOriginal.getText().length()){

txtNewText.setText("

catch(InterruptedExceptione){

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1