[问答题] 下面是一个Apple(程序,其功能是播放动画。要求根据给出的3幅图片设计1个动画。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。

16 查阅

[问答题] 下面是一个Apple(程序,其功能是播放动画。要求根据给出的3幅图片设计1个动画。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。

程序运行结果如下:

import java.awt.*;

import java.applet.*;

import java.awt.image.*;

/*

<applet code="ex24_3.class" width=800 height=400 >

</applet>

*/

public class ex24_3 extends Applet implements Runnable

Image[] images=new Image[4];

Image image;

int imgNumber=3;

int currentImage=0;

Thread thisThread;

public void init()

for (int x=0;x<imgNumber;x++)

images[x]= getImage(getCodeBase(),"img"+x+".gif");

image=images[0];

public void paint(Graphics g)

g.drawImage(image[0],0,0,null);

public void updat

参考答案:

g.drawImage(image,0,0,null) currentImage%=imgNumber image=images[currentImage]

本题主要考查Applet图形绘制和多线程相结合制作动画的综合应用。解题关键是熟悉Applet生命周期,熟悉线程的编程模式,熟悉Graphics类的基本绘图方法和图像处理方法等。本题中,第1处,应该是绘制当前的1幅图片,image对象定义的就是这一幅图像;第2处,将currentImage对imgNumber取模并把结果返回给currentImage,作为当前图像的索引值;第3处,将由currentImage索引的图像数组中的对象的值赋给image对象,用于显示。

计算机考试