java多线程实验心得体会_【实验教案】上机实践6多线程

上机实践6多线程

实验  汉字打字练习

实验目的

掌握使用Thread的子类创建线程。

实验要求

编写一个Java应用程序,在主线程中在创建一个Frame类型的窗口,在该窗口中再创建1个线程giveWord。线程giveWord每隔2秒钟给出一个汉字,用户使用一种汉字输入法将该汉字输入到文本框中。

程序模版

请按照模版要求,将【代码】替换为程序代码。

WordThread.java

import java.awt.*;

public class WordThread extends Thread

{ char word;

int

k=19968;

Label

com;

WordThread(Label com)

{ this.com=com;

}

public

void run()

{ k=19968;

while(true)

{

word=(char)k;

com.setText(""+word);

try{ 【代码1】//调用sleep方法使得线程中断6000豪秒

}

catch(InterruptedException e){}

k++;

if(k>=29968) k=19968;

}

}

}

ThreadFrame.java

import java.awt.*;

import java.awt.event.*;

public class ThreadFrame extends Frame implements

ActionListener

{

Label wordLabel;

Button button;

TextField

inputText,scoreText;

【代码2】//用WordThread声明一个giveWord对象

int score=0;

ThreadFrame()

{ wordLabel=new Label("

",Label.CENTER);

wordLabel.setFont(new Font("",Font.BOLD,72));

button=new Button("开始");

inputText=new TextField(3);

scoreText=new TextField(5);

scoreText.setEditable(false);

【代码3】//创建giveWord,将wordLabel传递给WordThread构造方法的参数

button.addActionListener(this);

inputText.addActionListener(this);

add(button,BorderLayout.NORTH);

add(wordLabel,BorderLayout.CENTER);

Panel southP=new Panel();

southP.add(new Label("输入标签所显示的汉字后回车:"));

southP.add(inputText);

southP.add(scoreText);

add(southP,BorderLayout.SOUTH);

setBounds(100,100,350,180);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{ System.exit(0);

}

}

);

}

public void actionPerformed(ActionEvent

e)

{

if(e.getSource()==button)

{ if(!(【代码4】)) //giveWord调用方法isAlive()

{ giveWord=new WordThread(wordLabel);

}

try

{ 【代码5】//giveWord调用方法start()

}

catch(Exception exe){}

}

else if(e.getSource()==inputText)

{ if(inputText.getText().equals(wordLabel.getText()))

{ score++;

}

scoreText.setText("得分:"+score);

inputText.setText(null);

}

}

}

WordThread.java

public class ThreadWordMainClass

{ public static void main(String args[])

{ new

ThreadFrame();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值