问题 问答题

下面的Applet程序通过内部类处理鼠标单击事件。在小程序中,如果点击鼠标,则在状态栏输出鼠标点击的坐标;如果双击鼠标,则显示一副图片,鼠标单击处为显示图片的左上角坐标,显示图片的宽度为200像素,高度为180像素。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。
注意:不改动程序的结构,不得增行或删行。
程序的执行结果为:


import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code=Hua width=200 height=100>
</applet>
*/
public class Hua extends Applet

int xPos,yPos;
int sum;
Image pic;
public void init()

addMouseListener(new ClickMouse());

public void paint(Graphics g)

if(sum==2)

g.drawImage(pic,xPos,yPos,200,180,super);


public class ClickMouse extends MouseAdapter

public void mouseClicked (MouseEvent mouse)

sum=mouse.getClickCount();
if(sum==2)

pic=getImage(getAudioClip(),"hua.jpg");
xPos=mouse.getX();
yPos=mouse.getY ( );
showStatus ("鼠标单击点的坐标: ("+mouse. getX ( ) +" , "+mouse. getY ( ) + ")" );

paint ( );



ex37_3.html:
<html>
<head>
<title>A Simple Program</title>
</head>
<body>
<applet code=" Hua.class" width=800 height=400>
</applet>
</body>
</html>

答案

参考答案:
drawImage(pic,xPos,yPos,200,180,this);
pic=getImage(getDocumentBase(),"hua.jpg");
repaint();

解析:
本题主要考查Applet小程序的应用。解答本题的关键是能够熟练掌握Applet小程序的基本理论及其执行过程。在本题中,通过内部类ClickMouse处理鼠标单击事件。g.drawImage(pic,xPos,yPos,200,180,this);语句的功能是在指定的Applet显示区内画出图片,pic=getImage(getDocumentBase(),"hua.jpg");语句功能是获取图片的URL,repaint();语句功能是重新显示图片。

解答题
单项选择题 A3/A4型题