问题 问答题

下面是一个Applet程序,设置其宽高为300和300像素,程序的功能是在小程序界面画一根水平线和一根垂直线,将小程序界面均分为4个区域,鼠标在不同的区域移动时显示不同的几何图形。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:


import java.awt.*;
import java.awt.Graphics.*;
import java.awt.event.*;
/*
<applet code=AppletPrograming width=200 height=200>
</applet>
*/
public class AppletPrograming extends Applet int m=-1,n=-1;
public void init()

addMouseMotionListener(new MouseMotionAdapter()

public void mouseMoved(Mouse p)

m=e.getX();
n=e.getY ( );
repaint ( )

);

public void paint(Graphics g)

g.drawLine(100,0,100,200);
g.drawLine(0,100,200,100);
if(m<100&&n<100)

g.setColor(Color.black);
g.fillOval(10,10,80,80);

else if(m>100&&n<100)

g.setColor(Color.green);
g.fillRect(110,10,80,80);

else if(m<100&&n>100)

g.setColor(Color.blue);
g.fillArc(10,130,80,35,50,250);

else if(m>100&&n>100)

int xvals[ ]=150,180,120;
int yvals[ ]=120,170,170;
g.setColor(Color.yellow);
g.fillPolygon(xvals,yvals,3);



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

答案

参考答案:
import java.applet.*;
MouseEvent p
public void repaint()

解析:
本题主要考查Applet小程序的应用,Java程序的事件处理机制,事件适配器的用法及与Applet显示有关的方法。解答本题的关键是熟练掌握Applet小程序的应用,Java程序的事件处理机制及与Applet显示有关的概念。Java语言为一些Listener接口提供了适配器(Adapter)类。可以通过继承事件所对应的Adapter类,重写需要的方法,无关方法不用实现。事件适配器提供了一种简单的实现监听器的手段,可以缩短程序代码。另外,在写Applet时,我们必须导入java.applet包,在小程序界面上画图时(尤其写字符时),通常重写paint()方法。

单项选择题
单项选择题 配伍题