文档介绍:西安邮电大学
(计算机学院)
课内实验报告
实验名称: 多线程
专业名称: 计算机科学与技术
班级: 计科1405班
学生姓名: 高宏伟
学号: 04141152
指导教师: 刘霞林
实验日期:
一、实验目的
线程的概念、线程的生命周期。
多线程的编程:继承Thread类与使用Runnable接口。
使用多线程机制实现动画。
二、实验要求
1. 掌握利用JAVA语言编写多线程程序的方法。
2. 掌握线程的调度方法。
3. 掌握多线程环境中GUI程序的编写方法。
实验内容
(一)汉字打字练****br/>实验要求:
编写一个Java应用程序,在主线程中再创建一个Frame类型的窗口,在该窗口中再创建1个线程giveWord。线程giveWord每隔2秒钟给出一个汉字,用户使用一种汉字输入法将该汉字输入到文本框中。
程序模板:
import .*;
public class WordThread extends Thread
{ char word;
int k=19968;
;
WordThread()
{ =com;
}
public void run()
{ k=19968;
while(true)
{
word=(char)k;
(""+word);
try{ 【代码1】//调用sleep方法使得线程中断6000豪秒
}
catch(InterruptedException e){}
k++;
if(k>=29968) k=19968;
}
}
}
import .*;
import .*;
public class ThreadFrame extends Frame implements ActionListener
{
Label wordLabel;
Button button;
TextField inputText,scoreText;
【代码2】//用WordThread声明一个giveWord对象
int score=0;
ThreadFrame()
{ wordLabel=new Label(" ",);
(new Font("",,72));
button=new Button("开始");
inputText=new TextField(3);
scoreText=new TextField(5);
(false);
【代码3】//创建giveWord,将wordLabel传递给WordThread构造方法的参数
(this);
(this);
add(button,);
add(wordLabel,);
Panel southP=new Panel();
(new Label("输入标签所显示的汉字后回车:"));
(inputText);
(scoreText);
add(southP,);
setBounds(100,100,350,180);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ (0);
}
}
);
}
public void actionPerformed(ActionEvent e)
{
if(()==button)
{ if(!(【代码4】)) //giveWord调用方法isAlive()
{ giveWord=new WordThread(wordLabel);
}
try
{ 【代码5】//giveWord调用方法start()
}
catch(Exception exe){}
}
el