教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> Java多线程与Applet

Java多线程与Applet

上传者:翟龙军
|
上传时间:2015-04-21
|
次下载

Java多线程与Applet

1、应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 2、设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

安徽师范大学

实验报告

专业名称 11计科 课程实验名称 多线程与Applet 姓 名

学 号 110704012

1、应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 2、设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

一、实验目的

掌握多线程程序和小应用程序设计方法。

二、实验内容

1应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。

2. 设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

三. 实验过程和步骤

(作业要求:程序源码及运行结果截图,该文档文件名为你的姓名加上你的学号)

1、多线程程序

Cage.java

import java.awt.Button;

import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Graphics;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

public classextends Frame implements ActionListener { Button quit = new Button("Quit"); Button start = new Button("Start"); Button stop = new Button("Stop"); Bird birds[] = new Bird[10];

public Cage() {

super("Cage with Birds");

1、应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 2、设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

}

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) { System.exit(0); } });

setLayout(new FlowLayout()); add(quit);

quit.addActionListener(this); add(start);

start.addActionListener(this); add(stop);

stop.addActionListener(this); validate();

setSize(300, 300); setVisible(true);

for (int i = 0; i < birds.length; i++) {

int x = (int) (getSize().width * Math.random()); int y = (int) (getSize().height * Math.random()); birds[i] = new Bird(this, x, y); }

for (int i = 0; i < birds.length - 1; i++) { for (int j = i + 1; j < birds.length; j++) { int xx = Math.abs(birds[i].x - birds[j].x); int yy = Math.abs(birds[i].y - birds[j].y); if (xx <= 30 && yy <= 40) {

int x = (int) (getSize().width * Math.random()); int y = (int) (getSize().height * Math.random()); birds[i] = new Bird(this, x, y); } } }

public void actionPerformed(ActionEvent ae) { if (ae.getSource() == stop)

for (int i = 0; i < birds.length; i++) birds[i].halt();

if (ae.getSource() == start)

for (int i = 0; i < birds.length; i++) { birds[i].halt();

birds[i] = new Bird(this, birds[i].x, birds[i].y); }

if (ae.getSource() == quit)

1、应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 2、设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

System.exit(0);

}

public void paint(Graphics g) {

for (int i = 0; i < birds.length; i++) if (birds[i] != null) birds[i].draw(g); }

public static void main(String args[]) { new Cage(); }

}

Bird.java

import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit;

public class Bird extends Thread {

int xdir = 2 * (1 - 2 * (int) Math.round(Math.random())); int ydir = 2 * (1 - 2 * (int) Math.round(Math.random())); boolean running = false; Cage cage = null; int x, y;

Image bird = Toolkit.getDefaultToolkit().getImage( "F:/workspace/example/src/thread/bird.png");

public Bird(Cage _cage, int _x, int _y) { cage = _cage; x = _x; y = _y; start(); }

public void start() { running = true; super.start();

1、应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 2、设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。

}

public void halt() { running = false; }

public void run() { while (running) { move(); iscash(); try {

sleep(50);

} catch (InterruptedException ie) {

System.out.println("Thread interrupted"); }

cage.repaint(); } }

public void move() { x += xdir; y += ydir;

if (x > cage.getSize().width-30) { x = cage.getSize().width-30; xdir *= (-1); }

if (x < 0) {

x=0;

xdir *= (-1); }

if (y > cage.getSize().height-40) { y = cage.getSize().height-40; ydir *= (-1); }

if (y < 40){ y=40;

ydir *= (-1); } }

public void iscash() {

for (int j = 0; j < cage.birds.length; j++)

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

2018江西公务员面试试题(7月1日)
江西公务员考试行测题库:行测判断推理模拟题6.8
江西公务员面试热点模拟题:如何看待网上“秀”孝心
江西公务员面试热点模拟题:央视《中国诗词大会》带火诗词培训班
江西公务员面试热点模拟题:高校图书馆对外开放谁将受益
江西公务员面试热点模拟题:提升国家文化软实力
江西公务员面试热点模拟题:如此脆弱的医患关系
江西公务员面试热点模拟题:如何开展敬老爱老活动
江西公务员面试热点模拟题:经典名曲被恶搞暴露对历史的淡忘
江西公务员面试热点模拟题:电信诈骗发案高发
江西公务员考试申论模拟题:预防残疾
江西公务员面试热点模拟题:禁止燃放烟花爆竹体现社会进步
江西公务员面试热点模拟题:年轻人为何排斥“七大姑八大姨”
2018江西公务员面试试题(6月30日)
江西公务员考试行测题库:行测判断推理模拟题0709
江西公务员面试模拟题:医院、社区等公共场所遭共享单车围堵
江西公务员面试热点模拟题:如何看待农村地区的“家庭医生”
江西公务员面试热点模拟题:你是一个善于抓住时机的人吗?
江西公务员面试热点模拟题:“星巴克致癌” 食品安警钟长鸣
江西公务员考试申论模拟题:留守儿童心理问题
江西公务员面试热点模拟题:图书馆变“聊天室”怎么办
江西公务员面试热点模拟题:小学生超过十点不做作业
2018江西公务员考试面试模拟题:教授收入不及保姆
2018江西公务员面试备考注意事项
江西公务员面试热点模拟题:延期毕业
江西公务员面试热点模拟题:悲情营销被滥用
江西公务员公安类职位面试模拟题:“你”为何选择公安队伍
江西公务员面试热点模拟题:野生动物园破规下车被伤谁之过
2018江西公务员考试面试模拟题:微信公益事业
江西公务员面试热点模拟题:反腐倡廉热度从未减

网友关注视频

人教版历史八年级下册第一课《中华人民共和国成立》
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
人教版二年级下册数学
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
飞翔英语—冀教版(三起)英语三年级下册Lesson 2 Cats and Dogs
七年级英语下册 上海牛津版 Unit9
北师大版小学数学四年级下册第15课小数乘小数一
冀教版英语四年级下册第二课
七年级英语下册 上海牛津版 Unit5
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
苏科版数学 八年级下册 第八章第二节 可能性的大小
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
小学英语单词
北师大版数学四年级下册3.4包装
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
二年级下册数学第二课
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
河南省名校课堂七年级下册英语第一课(2020年2月10日)
沪教版八年级下册数学练习册21.3(3)分式方程P17
外研版八年级英语下学期 Module3
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》