问题 问答题

下面是一个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++)
Point dot= (Point)points. elementAt(i);
g. drawString("x" ,dot. x,dot, y),


public static void main(String args[])
Frame fram=new Frame("CelayTree");
SimpleHitMouse dot=new SimpleHitMouse();
dot. init( );
dot. start();
fram. add( "Center", dot)
fram. setSize(400,300);
fram. addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent e)
System. exit(0);
);
fram.show()


exl_2.html:
<html>
<head>
<title>A Simple program</title>
</head>
<body>
<applet code="SimpleHitMouse, class" width=800 height=400>
</applet>
</body>
</html>

答案

参考答案:extends
repaint()
paint(g)

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

选择题
多项选择题