下面的Applet程序通过内部类处理鼠标单击事件。在小程序中,如果点击鼠标,则在状态栏输出鼠标点击的坐标;如果双击鼠标,则显示一副图片,鼠标单击处为显示图片的左上角坐标,显示图片的宽度为200像素,高度为180像素。请改正程序中的错误(有下划线的语句),使

admin2009-01-15  41

问题 下面的Applet程序通过内部类处理鼠标单击事件。在小程序中,如果点击鼠标,则在状态栏输出鼠标点击的坐标;如果双击鼠标,则显示一副图片,鼠标单击处为显示图片的左上角坐标,显示图片的宽度为200像素,高度为180像素。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。
   注意:不改动程序的结构,不得增行或删行。
   程序的执行结果为:
   
   import java.applet.*;
   import java.awt.*;
   import java.awt.event.*;
   /*
   <applet code=Hua width=200 height=100>
   </applet>
   */
   public class Hua extends Applet
    {
      int xPos,yPos;
      int sum;
      Image pic;
      public void init()
       {
        addMouseListener(new ClickMouse());
       }
   public void paint(Graphics g)
    {
     if(sum==2)
        {
                g.drawImage(pic,xPos,yPos,200,180,super);
        }
     }
   public class ClickMouse extends MouseAdapter
     {
       public void mouseClicked (MouseEvent mouse)
         {
            sum=mouse.getClickCount();
              if(sum==2)
  {
                   pic=getImage(getAudioClip(),"hua.jpg");
                   xPos=mouse.getX();
                   yPos=mouse.getY ( );
                   showStatus ("鼠标单击点的坐标:  ("+mouse. getX ( ) +"  , "+mouse. getY ( ) +  ")"  );
               }
            paint ( );
     }
   }
  }
  ex37_3.html:
   <html>
   <head>
   <title>A Simple Program</title>
   </head>
    <body>
    <applet code=" Hua.class" width=800 height=400>
    </applet>
    </body>
    </html>

选项

答案drawImage(pic,xPos,yPos,200,180,this); pic=getImage(getDocumentBase(),"hua.jpg"); repaint();

解析 本题主要考查Applet小程序的应用。解答本题的关键是能够熟练掌握Applet小程序的基本理论及其执行过程。在本题中,通过内部类ClickMouse处理鼠标单击事件。g.drawImage(pic,xPos,yPos,200,180,this);语句的功能是在指定的Applet显示区内画出图片,pic=getImage(getDocumentBase(),"hua.jpg");语句功能是获取图片的URL,repaint();语句功能是重新显示图片。
转载请注明原文地址:https://kaotiyun.com/show/XLnp777K
0

最新回复(0)