文档详情

Java多线程与Applet.doc

发布:2017-07-07约7.25千字共12页下载文档
文本预览下载声明
安徽师范大学 数计学院 实验报告 专业名称 11计科 课程 JAVA高级程序设计 实验名称 多线程与Applet 姓 名 学 号 110704012 一、实验目的 掌握多线程程序和小应用程序设计方法。 二、实验内容 1应用多线程技术设计一个如下功能的程序:在窗体工作区域有10个小鸟图像在独立运动,每个小鸟受控于一个线程,如果某个小鸟与其它小鸟碰撞,则分别向反方向运动。 设计一个小应用程序,该程序能选择自由绘画,自由画椭圆,自由画直线。 三. 实验过程和步骤 (作业要求:程序源码及运行结果截图,该文档文件名为你的姓名加上你的学号) 多线程程序 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 class Cage extends 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); 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
显示全部
相似文档