资源简介
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;//设置跑道长度
// 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;//设置窗体载体上的部件
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);//加入部件并设置初值
setVisible(true);
begin.addActionListener(new ActionListener() {//开始按钮设置监听
public void actionPerformed(ActionEvent e) {
new Thread(rabbit).start();
new Thread(tortoise).start();
begin.setVisible(false);
stateOfRabbit.setText(“兔子跑起来了!“);
}//按下开始后龟兔开始跑
});
exit.addActionListener(new ActionListener() {//退出键设置监听
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new TestTortoiseRabbit();
}//main函数开始,新建窗体载体对象
class Tortoise extends JLabel implements Runnable {
//创建乌龟类,继承JLabel,实现 Runnable接口 创建新线程
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;//设置参数,speed设置前进速度,x、y为乌龟坐标
while (!stop) {
x += speed;
setLocation(x y);//X坐标加速度,然后重新定位,实现移动
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (x >= MAX_LENGTH) {//设置乌龟到达终点事件
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论