首页 > 计算机 > 计算机考试 正文

[问答题] 下面是一个Applet程序,其功能是将完整的图像显示于Applet的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果

时间:2021-07-20 16:49:54 解答: 70 次

[问答题] 下面是一个Applet程序,其功能是将完整的图像显示于Applet的区块中,然后可以通过拖动鼠标让图像随着鼠标拖动的轨迹而移动。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。

源程序文件代码清单如下:

import java.applet.*;

import java.awt.*;

/*

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

</applet>

*/

public class ex7_3 extends Applet

private Image iImg;

private int xPos,yPos;

public void init()

xPos = yPos = 0;

iImg = getImage("ex7_3.jpg");

public void paint(Graphics g)

g.drawImage(iImg,xPos,yPos);

public boolean mouseDrag(Event e,int x, int y)

xPos = x;

yPos = y;

paint();

return true;

ex7_3.html

<HTML>

<HEAD>

<TITLE>ex7_3</TITLE>

</HEAD>

正确答案:

iImg=getImage(getDocumentBase(),"ex7_3.jpg") g.drawImaSe(iImg,xPOs,yPOs,this) repaint()

参考解析:

本题主要考查在Applet窗口中显示图像,并结合鼠标事件处理的综合应用。解题关键是熟悉图像文件的加载过程;会跟踪鼠标拖动的事件,并将鼠标在Applet窗口中的坐标信息作为参数传递给 drawImage()方法,用于在新的位置显示图像,从而实现拖动效果。本题中,第一处,getImaSe()方法应该有2个参数,第一个参数是SetDocumentBase()方法的返回值,即图像文件的路径;第二处,drawImage()方法最后一个参数应该是this,确定是在当前运行的对象中绘制图像;第三处,应该调用repaint()方法,进行重画,而不是paint()方法。程序运行结果如下: [*]

  • 相关题库

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2025-01-02 13:44:31

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2025-01-02 13:44:31

←请使用微信扫码支付