資源簡介
java語言編寫的龜兔賽跑小程序 采用多線程和圖形用戶界面

代碼片段和文件信息
import?java.awt.Image;
import?java.awt.Toolkit;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.util.Random;
import?javax.swing.*;
import?javax.swing.ImageIcon;
import?java.awt.Image;?
import?javax.swing.ImageIcon;?
import?javax.swing.Jframe;?
import?javax.swing.JLabel;?
import?javax.swing.Jframe;
import?javax.swing.JOptionPane;
//定義一個Jframe窗體作為顯示載體
public?class?TestTortoiseRabbit?extends?Jframe?{
private?static?final?long?serialVersionUID?=?987654321L;
static?final?int?MAX_LENGTH?=?700;//設(shè)置跑道長度
???//?Image?rIcon=Toolkit.getDefaultToolkit().getImage(“rabit1.gif“);
????//rIcon.set
private?JButton?begin;
private?JButton?exit;
private?Rabbit?rabbit;
private?Tortoise?tortoise;
private?JLabel?stateOfRabbit;
private?JLabel?winner;//設(shè)置窗體載體上的部件
????
???
public?TestTortoiseRabbit()?{
?
super(“龜兔賽跑“);
setLayout(null);
setBounds(200?150?800?600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
?ImageIcon?pic1=new?ImageIcon(“rabit1.gif“);
????pic1.setImage(pic1.getImage().getScaledInstance(100100Image.SCALE_DEFAULT));?
????ImageIcon?pic2=new?ImageIcon(“tor.gif“);
????pic2.setImage(pic2.getImage().getScaledInstance(100100Image.SCALE_DEFAULT));?
?begin?=?new?JButton(“開始“);
?exit?=?new?JButton(“退出“);
rabbit?=?new?Rabbit(pic1);
?tortoise?=?new?Tortoise(pic2);
?stateOfRabbit?=?new?JLabel();
//private?JLabel?winner;
add(rabbit);
rabbit.setBounds(20?100?100?100);
add(tortoise);
tortoise.setBounds(20?200?100?100);
add(stateOfRabbit);
stateOfRabbit.setBounds(300?50?100?20);
add(begin);begin.setBounds(20?400?80?30);
add(exit);exit.setBounds(100?400?80?30);//加入部件并設(shè)置初值
setVisible(true);
begin.addActionListener(new?ActionListener()?{//開始按鈕設(shè)置監(jiān)聽
public?void?actionPerformed(ActionEvent?e)?{
new?Thread(rabbit).start();
new?Thread(tortoise).start();
begin.setVisible(false);
stateOfRabbit.setText(“兔子跑起來了!“);
}//按下開始后龜兔開始跑
});
exit.addActionListener(new?ActionListener()?{//退出鍵設(shè)置監(jiān)聽
public?void?actionPerformed(ActionEvent?e)?{
System.exit(0);
}
});
}
public?static?void?main(String[]?args)?{
new?TestTortoiseRabbit();
}//main函數(shù)開始,新建窗體載體對象
class?Tortoise?extends?JLabel?implements?Runnable?{
//創(chuàng)建烏龜類,繼承JLabel,實現(xiàn)?Runnable接口??創(chuàng)建新線程
private?static?final?long?serialVersionUID?=?12345678L;
public?Tortoise(String?name)?{
super(name);
}
public?Tortoise(Icon?icon)?{
super(icon);
setSize(100?40);
}
boolean?stop;
int?speed?=?2;
int?x?y;
public?void?run()?{
x?=?getLocation().x;
y?=?getLocation().y;//設(shè)置參數(shù),speed設(shè)置前進速度,x、y為烏龜坐標
while?(!stop)?{
x?+=?speed;
setLocation(x?y);//X坐標加速度,然后重新定位,實現(xiàn)移動
try?{
Thread.sleep(50);
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
if?(x?>=?MAX_LENGTH)?{//設(shè)置烏龜?shù)竭_終點事件
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9636??2011-12-13?09:41??龜兔賽跑\rabit1.gif
?????文件???????4862??2012-03-28?21:25??龜兔賽跑\TestTortoiseRabbit.java
?????文件??????13558??2011-12-13?09:40??龜兔賽跑\tor.gif
?????目錄??????????0??2011-12-13?09:46??龜兔賽跑
-----------?---------??----------?-----??----
????????????????28056????????????????????4
- 上一篇:JSP期末考試試題及答案
- 下一篇:ZXing-core-3.3.0.jar
評論
共有 條評論