import java.awt.*;
import java.awt.event.*;
public class Welcome extends WindowAdapter implements ActionListener{
Frame f;
static Welcome.Thread3 wt1,wt2;
public static void main(String args[]){
Welcome w=new Welcome();
w.display();
wt1=w.new Thread3("welcome!");
wt2=w.new Thread3("how are you?");
wt2.start();
wt2.setButton();
}
public void display(){
f=new Frame("welcome");
f.setSize(400,240);
f.setLocation(200,140);
f.setBackground(Color.lightGray);
f.setLayout(new GridLayout(4,1));
f.addWindowListener(this);
f.setVisible(true);
}
public class Thread3 extends Thread{
Panel p1;
Label lb1;
TextField tf1,tf2;
Button b1,b2;
int sleeptime=(int)(Math.random()*100);
public Thread3(String str){
super(str);
for(int i=0;i<100;i++)
str=str+"";
tf1=new TextField(str);
f.add(tf1);
p1=new Panel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
lb1=new Label("sleep");
tf2=new TextField(""+sleeptime);
p1.add(lb1);
p1.add(tf2);
b1=new Button("启动");
b2=new Button("中断");
p1.add(b1);
p1.add(b2);
b1.addActionListener(new Welcome());
b2.addActionListener(new Welcome());
f.add(p1);
f.setVisible(true);
}
public void run(){
String str;
while(this.isAlive()&&!this.isInterrupted()){
try{
str=tf1.getText();
str=str.substring(1)+str.substring(0,1);
tf1.setText(str);
this.sleep(sleeptime);
}
catch(InterruptedException e){
System.out.println(e);
break;
}
}
}
public void setButton(){
if(this.isAlive()) b1.setEnabled(false);
if(this.isInterrupted()) b2.setEnabled(false);
}
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
public void actionPerformed(ActionEvent e){
if((e.getSource()==wt1.b1)||(e.getSource()==wt1.b2))
actionPerformed(e,wt1);
if((e.getSource()==wt2.b1)||(e.getSource()==wt2.b2))
actionPerformed(e,wt2);
}
public void actionPerformed(ActionEvent e,Thread3 wt1)
{if(e.getSource()==wt1.b1){
wt1.sleeptime=Integer.parseInt(wt1.tf2.getText());
wt1.start();
}
if(e.getSource()==wt1.b2)
wt1.interrupt();
wt1.setButton();
}
}
正文
书上的线程GUI2006-04-05 00:25:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/sword2008/11953.html
阅读(4748) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论