java awt 添加 图

来源:百度知道 编辑:UC知道 时间:2024/06/14 19:44:49
求助高手:
我想用 java写一个桌面弹球的动画程序, 建类ball, 和窗口 DrawBall
希望在ball类里建立线程并在 DrawBall中画出自己 并不断更新位置,达到动画目的, 但是在ball类中怎能够有平paint方法在DrawBall中画呢?

我是希望在main中用ball的构造函数实例几个ball,然后在DrawBall中就可以看到几个球在动
注: setXY() 用来刷新球的位置 1、2、3.gif是图片
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
class ball extends Component implements Runnable
{ Thread thread;
static int boundX=1300-128; // 所有球的运行区域, 所以用static
static int boundY=780-115;
int xChange=0; // xChange 的值 0和1分别表示当前水平方向的运动是与x轴同向还是反向
int yChange=0;
int X=10; //球的坐标 先初始化为(10,20)
int Y=20;
Image image;
Toolkit tool;
ball(String pic) //*******************构造函数
{ this.setBallImage(pic);
this.thread=new Thread(this);
}
void setBallImage(String s) // s为gif 或 jpeg 图像的文件名 如: pictureName.gif
{this.tool=getToolkit();

你的分好少哦!!!
我写过一个打字游戏。 你线程里面的方法
public void run()
{

try { DrawBall.myGraphics.drawImage(image,X,Y,128,128,this);
//应该操作DrawBall对象的实例。ball=new DrawBall() 然后设置它的坐标。
setXY(boundX,boundY);
this.thread.sleep(5);
}
catch(InterruptedException e)
{System.out.println(e);}

}

诶 你线程里面操作的一定要是new出来的实例。然后线程去改变它的属性值。