📄 welcome.java.bak
字号:
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 arg[])
{
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,b3;
int sleeptime = (int)(Math.random()*100);
boolean isWait = false;
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("中断");
b3 = new Button("继续");
p1.add(b1);
p1.add(b2);
p1.add(b3);
b1.addActionListener(new Welcome());
b2.addActionListener(new Welcome());
b3.addActionListener(new Welcome());
f.add(p1);
f.setVisible(true);
}
public void run()
{
String str;
while (true) //this.isAlive())// && !this.isInterrupted() && !isWait)
{ //线程活动且没中断时
try
{
boolean bl=this.isInterrupted();
if (bl)
System.out.println(bl);
str = tf1.getText();
str = str.substring(1)+ str.substring(0,1);
tf1.setText(str);
this.sleep(sleeptime);
}
catch(InterruptedException e)
{ //中断(this.isInterrupted()=true)时抛出
//if (isWait)
System.out.println(e.getMessage());
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();
if(e.getSource()==wt1.b3) //中断
wt1.isWait = true;
// wt1.setButton(); //设置按钮状态
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -