Example9_13
来源:互联网 发布:儿童读物在线阅读软件 编辑:程序博客网 时间:2024/06/05 05:20
package itat;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Example9_13 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FrameMoney();
}
}
class FrameMoney extends Frame implements Runnable,ActionListener{
int money=100;
TextArea text1,text2;
Thread kuaiji,chuna;
int weekDay;
Button start=new Button("开始演示");
FrameMoney(){
kuaiji=new Thread(this);
chuna=new Thread(this);
text1=new TextArea(12,15);
text2=new TextArea(12,15);
setLayout(new FlowLayout());
add(start);
add(text1);
add(text2);
setVisible(true);
setSize(360,300);
validate();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
start.addActionListener(this);
}
public void run() {
// TODO Auto-generated method stub
if(Thread.currentThread()==kuaiji||Thread.currentThread()==chuna){
for(int i=1;i<=3;i++){
weekDay=i;
chuqu(30);
}
}
}
private synchronized void chuqu(int number) {
// TODO Auto-generated method stub
if(Thread.currentThread()==kuaiji){
text1.append("今天是星期"+weekDay+"/n");
for(int i=1;i<=3;i++){
money=money+number;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
text1.append("帐上有"+money+"万/n");
}
}else if(Thread.currentThread()==chuna){
text2.append("今天是星期"+weekDay+"/n");
for(int i=1;i<=2;i++){
money=money-number/2;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
text2.append("帐上有"+money+"万/n");
}
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(!(chuna.isAlive())){
kuaiji=new Thread(this);
chuna=new Thread(this);
}
try{
kuaiji.start();
chuna.start();
}catch(Exception exp){}
}
}