问题 问答题

下面是一个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()方法。

单项选择题 A1/A2型题
判断题