下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。 程序运行结果如图5所示。 import java.awt.*; import java.applet.*;

admin2009-02-15  39

问题 下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。
   程序运行结果如图5所示。
   
   import java.awt.*;
   import java.applet.*;
   /*
     <applet code=ex6_7. class width=800 height=400>
     </applet>
   */
   public class ex6_7 extends Applet{
     private Button btn;
     private boolean bDraw,bClear;
     private int upX,upY,downX,downY;
     public void int(){
     setLayout(null);
     bClear=false;
     bDraw=false;
     btn=new Button("clear");
     btn.reshape(250,  150,70,30);
     add(btn);
     }
     public void paint (Graphics g){
       if(bClear){
         g.clearRect(0,0,getSize(). width,getSize(). height);
           (1);
       }
       if(bDraw){
          g.drawLine((2));
          bDraw=false;
       }
     }
     public void update (Graphics g){
         (3);
     }
     public boolean mouseDown(Event event, int x,int y){
       downX=x;
       downY=y;
       return true;
     }
     public boolean mouseup(Event event,int X,int y){
       upX = x;
       upY =y;
         (4);
       repaint();
       return true;
     }
   public boolean action(Event event,Object object){
     if((5)){
       bClear=true;
       repaint();
     }
     return true;
     }
   }
   ex6_7. html
   <HTML>
    <HEAD>
      <TITLE>ex6_7</TITLE>
   </HEAD>
   <BODY>
      <appletcode="  ex6_7. class"  width=800 height=400 >
     </applet>
    </BODY>
   </HTML>

选项

答案(1)bClear=false(2)downX,downY,upX,upY (3)paint(g)(4)bDraw=true(5)event.target==btn

解析 本题主要考查Applet的图形绘制,鼠标事件处理和用户界面的相关知识点以及会使用boolean类型的变量控制程序的流程。解题关键是,熟悉Applet的图形绘制,会用Graphics类的基本绘图方法,例如drawLine()方法;熟悉鼠标事件处理,并能与图形绘制和用户界面设计相结合做简单的综合应用;掌握一定的程序流程的控制思想。本题中,主要的思想是首先判断用户将鼠标按下与放开的坐标位置,然后使用drawLine()方法绘制由鼠标按下点到放开点的直线。注意不要将 drawLine()方法的几个参数颠倒,要明白此方法的几个参数的确切含义。将bDraw变量的值设为false,这导致程序在调用paint()方法时不能进入g.drawLine语句,应改为true。最后要明确clear是btn对象显示在用户界面的名称,而不能作为对象来与event.target做比较,因此应改为btn,这在调试时就会出现变量无法解析的错误;符号==这里要确定点击btn事件发生才能做清除,否则不能达到预期效果。
转载请注明原文地址:https://kaotiyun.com/show/VMDZ777K
0

相关试题推荐
最新回复(0)