• 大小: 16KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Java
  • 标签: 多线程  

资源简介

多线程的龟兔赛跑程序,有动画 部分程序import java.awt.*; import javax.swing.*; import java.net.*; import java.awt.event.*; public class Race extends JApplet implements ActionListener{ JButton b=new JButton("开始"); JButton b1=new JButton("复位"); JPanel p=new JPanel(); JLabel message=new JLabel(); JLabel message1=new JLabel(); int rx=0,tx=0; Image tortoise,rabbit; int h,w; Thread t,r;

资源截图

代码片段和文件信息

//作者:吴育锋
import java.awt.*;
import javax.swing.*;
import java.net.*;
import java.awt.event.*;
public class Race extends Japplet implements ActionListener{
JButton b=new JButton(“开始“);
JButton b1=new JButton(“复位“);
JPanel p=new JPanel();
JLabel message=new JLabel();
JLabel message1=new JLabel();
int rx=0tx=0;
Image tortoiserabbit;
int hw;
Thread tr;
public void init(){
Container c=getContentPane();
c.setLayout(new GridLayout(31));
b.addActionListener(this);
b1.addActionListener(this);
b1.setEnabled(false);
p.add(b1);
p.add(b);
p.add(message);
p.add(message1);
c.add(p);
try{
tortoise=getImage(getDocumentbase()“gui.jpg“);
rabbit=getImage(getDocumentbase()“tu.jpg“);
}catch(Exception e){}
h=getHeight();
w=getWidth();
r=new Rabbit(this);
t=new Tortoise(this);
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(tortoisetx60h/3h/3this);
g.drawImage(rabbitrx120h/3h/3this);
if(rx>=w-h/3&&rx>tx)message.setText(“兔子赢得比赛!“);
if(tx>=w-h/3&&tx>rx)message1.setText(“乌龟赢得比赛!“);
if(tx>=w-h/3&&rx>=w-h/3)b1.setEnabled(true);
}
public void start(){

}
public void setM(String m){
message.setText(m);
}
public void setRx(int x){
rx=x;
}
public void setTx(int x){
tx=x;
}
public int getRx(){
return rx;
}
public int getTx(){
return tx;
}
public void actionPerformed(ActionEvent e){
String str=e.getActionCommand();
if(str.equals(“开始“)){
t.start();
r.start();
b.setEnabled(false);
}
else{
r=new Rabbit(this);
t=new Tortoise(this);
b.setEnabled(true);
b1.setEnabled(false);
rx=0;
tx=0;
repaint();
message.setText(““);
message1.setText(““);
}
}
}
class Rabbit extends Thread{
Race race;
int rx=0;
boolean wake=true;
public Rabbit(Race r){
race=r;
}
public void run(){
while(true){
int flag=(int)(Math.random()*40);
rx=rx+5;
race.setRx(rx);
race.repaint();
if(race.getRx()>=race.getWidth()-race.getHeight()/3)break;
try{
if(flag!=2){
if(!wake){
race.setM(“兔子醒了!“);
wake=true;
}
Thread.sleep(50);
}
else{
race.setM(“兔子睡着了!“);
wake=false;
Thread.sleep(3000);
}

}catch(Exception e){}
}
}
}
class Tortoise extends Thread{
Race race;
int tx=0;
public Tortoise(Race r){
race=r;
}
public void run(){
while(true){
tx=tx+2;
race.setTx(tx);
race.repaint();
if(race.getTx()>=race.getWidth()-race.getHeight()/3)break;
try{
Thread.sleep(50);
}catch(Exception e){}
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24064  2008-03-28 15:53  龟兔赛跑好\1212282822.doc

     文件       2810  2007-12-12 20:02  龟兔赛跑好\gui.jpg

     文件        932  2008-03-31 13:09  龟兔赛跑好\Rabbit.class

     文件       3120  2008-03-31 13:09  龟兔赛跑好\Race.class

     文件         50  2007-12-12 21:59  龟兔赛跑好\Race.html

     文件       2719  2008-03-29 10:57  龟兔赛跑好\Race.java

     文件        644  2008-03-31 13:09  龟兔赛跑好\Tortoise.class

     文件       6081  2007-12-12 20:07  龟兔赛跑好\tu.jpg

     目录          0  2008-04-29 18:30  龟兔赛跑好

----------- ---------  ---------- -----  ----

                40420                    9


评论

共有 条评论