[问答题] 下面是一个Applet程序,程序的功能是用鼠标画图。本题是通过单击鼠标后画出一个Java字。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意;不改动程序的结构,不得增

13 查阅

[问答题] 下面是一个Applet程序,程序的功能是用鼠标画图。本题是通过单击鼠标后画出一个Java字。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

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

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

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

/*

<applet code=SimpleHitMouse.java width=800 height=400>

</applet>

*/

public class SimpleHitMouse implements Applet

private java.util.Vector points=new java.util.Vector();

public void init()

addMouseListener(new MouseAdapter()

public void mousePressed(MouseEvent e)

points.add(new Point(e.getX(),e.getY())

paint();

);

public void update(Graphics g)

repaint(g);

public void paint(Graphics g)

for(int i=0;i<points.size();i++)

参考答案:

extendsrepaint()paint(g)

本题主要考查Java Applet程序的编写、Java程序事件处理机制。解答本题的关键是熟练掌握Java Applet程序的编写和 Java程序事件处理机制的知识。编写Applet小程序必须要用到java.appelt包中的Applet类java.applet.Applet,java.awt.Panel的子类。在Applet中,Applet的显示更新是由一个专门的AWT线程控制的。与Applet显示相关的3个方法:④paint()方法,Applet的paint()方法具体执行Applet的绘制,该方法的定义为public void paint(Graphics g),参数g是 Graphics类的实例,该实例对象由浏览器生成,它包含了Applet的图形上下文信息,通过它向Applet中显示信息,该对象相当于 Applet的画笔:②update()方法,该方法的定义为public void update(Graphics g),update()方法用于更新Applet的显示,该方法将首先清除背景,再调用paint()方法完成Applet的具体绘制;③repain()方法,repaint()方法的定义为public void repaint(),该方法主要用于 Applet的重新显示,它调用update()方法实现对Applet的更新。在本题中,extends关键字用于继承父类,repaint()、paint()方法都用于Applet的重新显示。程序的运行结果如下。 [*]

计算机考试