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){}
  
  
 }
 
 
}