JAVA实现的六色球
这是JAVA中的一个作业,
效果图:
画框中共有六个球,它们碰到墙之后能够反弹,而且相互碰撞之后能相互碰撞。
要用到的知识:
1. awt画图,要把球画出来
public void draw(Graphics g){
Color c = g.getColor(); g.setColor(Color.red);
g.fillOval(x, y, d, d);
g.setColor(c);
}
2. 线程对球的重画
class MyThread implements Runnable{
public void run() {
while(true){
repaint();
try {
Thread.sleep(150);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
源代码:
1. 球(Ball)类:
import java.awt.*;
public class Ball {
public static final int d = 30;//球的直径是30
int x=100,y=100;//球所在的位置
private double direction = 225;//小球的运动方向的度数表示,0-360度
//球的编号
private int id;
BallClient bc;
public Ball(int x, int y, double direction, int id,BallClient bc) {
super();
this.x = x;
this.y = y;
this.direction = direction;
this.id = id;
this.bc = bc;
}
public void draw(Graphics g){
Color c = g.getColor();
if(id==1)
g.setColor(Color.red);
if(id==2)
g.setColor(Color.blue);
if(id==3)
g.setColor(Color.green);
if(id==4)
g.setColor(Color.black);
if(id==5)
g.setColor(Color.pink);
if(id==6)
g.setColor(Color.yellow);
g.fillOval(x, y, d, d);
g.setColor(c);
move();
touchWall();
touchEach();
}
public double getDirection() {
return direction;
}
public void setDirection(double direction) {
this.direction = direction;
}
//小球运动函数
public void move(){
if(direction>=0&&direction<=90){
y += Math.sin((direction)*Math.PI/180)*10;
x += Math.cos((d
相关文档:
// AuthorityInterceptor.java 文件
package com.aptech.jb.epet.web.authority;
import javax.servlet.http.HttpServletRequest;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.struts.action.ActionMapping;
public class Authority ......
一: java.awt包
java.awt包中提供了GUI设计所使用的类和接口,可从中看到主要类之间的关系。
java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:
组件--Component
容器--Container
布局管理器--LayoutManager
二: ......
里我们做一个完整的例子来说明线程产生的方式不同而生成的线程的区别:
package debug;import java.io.*;import java.lang.Thread;class MyThread extends Thread{ public int x = 0; public void run(){ System.out.println(++x); }}class R implements Runnable{ private in ......
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。
有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多 ......