打字测试软件报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程设计名称:Java课程设计

专业班级:计科卓1101

学生姓名:侯心想

学号: 201116910415

指导教师:王社伟

课程设计时间:2013.6.10-2013.6.21

打字测试软件

一、需求分析

设计一个英文打字测试软件,要求:

1. 文件中调入英文录入材料;

2. 显示错误率;

3.显示平均录入速度。

二、概要设计

模块图

主程序窗口

容易简

退

系统流程图

主程序窗口

选择按钮

容易

难选择按钮以后,程序自动弹出测试窗

口,然后在新窗口内进行以下操作。

点击选择文章

选择过文章以后,开始便可开始对照文章,在

文本框内进行打字练习。

点击结束练习,程序自动弹出测试

结果

退出程关闭测试窗口

三、运行环境、开发语言

运行环境:JDK1.6

开发语言:Java

四、详细设计

1 程序清单

表1程序清单

文件名功能

Test 显示程序主窗口,

实现在窗口内添加按钮事件与键盘事件。 Xian 实现添加文本到指定文本框,

实现将输入文本与指定文本比较,从而得出

错误率与平均输入率。

表2 函数清单

函数名功能

add 创建主界面窗口,添加按钮actionPerformed 响应按钮事件

shixian 创建新窗口,添加按钮事件getFileContent 将文本从文件中取出

jisuan 计算输入错误率和平均输入率

2 主要代码

2.1程序主窗口的设计

图1主程序窗口界面

public void add()throws Exception

{

p1=new JPanel();

p2=new JPanel();

b1=new JButton("容易");

b2=new JButton("普通");

b3=new JButton("困难");

b=new JButton("退出");

l=new JLabel(new ImageIcon("1.jpg.png"));//在窗口中间插入图片

con.add(p1,"North");

con.add(p2,"Center");

GridLayout g=new GridLayout(2,2,5,5);

p1.setLayout(g);

p1.add(b1);

p1.add(b2);

p1.add(b3);

p1.add(b);

p2.add(l);

b.addActionListener(this); //为按钮注册监听器

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

f.setSize(400,500);

f.setLocation(100,100);

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

2.2 练习打字窗口

在本窗口中可以选择自己练习得文章,练习完成后点击结束练习按钮即可得到练习情况。

图2练习打字窗口界面

setBackground(Color.GREEN);

textArea=new JTextArea(500,500);

textArea.setLineWrap(true);

textArea.setEditable(false);

textArea1=new JTextArea(500,500);

textArea1.setLineWrap(true);

openFile=new JButton("选择文章");

2.3 选择文章功能

在此页面可以选择练习的文章,并且在窗口内打开,显示在对照文本框内。

图3 选择文章界面

图4 选择文章后的界面

jfc=new JFileChooser(".");

FileNameExtensionFilter filter=new FileNameExtensionFilter("text file","txt");

jfc.addChoosableFileFilter(filter);

openFile.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

jfc.showOpenDialog(Xian.this);

file=jfc.getSelectedFile();

if(file==null)

{

textArea.setText("没有选择文件");

return;

}

textArea.setText(" ");

try{String content=getFileContent(file);

textArea.setText(content);

Xian.this.setTitle(file.getName());

}

catch(IOException ex){textArea.setText("读文件失败、原因\n"+ex);}

}

});

textArea1.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

if(coun==0){

startTime=System.nanoTime();

coun=1;}

}

});

b.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e)

{

jisuan();

}

}

);

}

public String getFileContent(File file) throws IOException{

BufferedReader reader=new BufferedReader(new FileReader(file));

String line="";

相关文档
最新文档