24李后浪实验五 多线程2李后浪实验五 多线程24李后浪实验五 多线程24李后浪实验五 多线程.doc
文本预览下载声明
实验五 多线程
实验课程名:Java程序设计
专业班级: 12网工2班 学号: 201240420224 姓名: 李后浪
实验时间: 2014.6.6 实验地点: K4-307 指导教师: 冯 珊
一、实验目的和要求
①掌握使用Thread的子类创建线程;
②学习使用Thread类创建线程;
③学习处理线程同步问题。
? 二、实验内容
?任务1 汉字打字练习。
实验要求:
编写一个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)
{ =com;
}
public void run()
{ k=19968;
while(true)
{
word=(char)k;
com.setText(+word);
try{ Thread.sleep(6000);//调用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;
WordThread giveWord;//用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);
giveWord=new WordThread(wordLabel);//创建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);
}
显示全部