下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。 注意:不改动程序的结构,不得增行或删行。 程序的执行

admin2009-01-15  30

问题 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。
   注意:不改动程序的结构,不得增行或删行。
   程序的执行结果为:
   
   import java.awt.*;
   import java.applet.*;
   /*
   <applet code=XiaoQiu width=800 height=600>
   </applet>
   */

   public class XiaoQiu extends Applet implements Runnable
   {
      int currentX=0,currentY=0;
      Thread m_Draw=null;

      public void init()
      {
      m_Draw=new Thread (super);
      }
      public void paint(Graphics g)
       {
         g.setColor(Color.blue);
         mycircle(g,getSize().width/2,getSize().height/2,currentX,currentY);
       }  
      public void start()
       {  
           m_Draw.start();
         try
                   {
                      Thread.sleep(500);
                  }
               catch(InterruptedException e){}
         }
     public void stop()
      {
          if(m_Draw.isAlive())
            m_Draw. stop();
      }
     public void run()
        {
           try
               {
                    while(true)
                   {
                           currentX++;
                            currentY++;
                    if(currentX>i00&&(currentY>100))
                        {
                             currentX=0;
                             currentY=0;
                         }
                      paint();
                     Thread.sleep(100);
                 }
           }
          catch(InterruptedException e){}
      }
     public void mycircle(Graphics g,int x,int y,int rx, int ry)
          {
             g.filloval(x-rx,y-ry,2*rx,2*ry);
          }
   }
   ex3 9_3. html:
     <html>
     <head>
     <title>A Simple Program</title>
     </head>
     <body>
    <applet cede=" XiaoQiu.class" width=800 height=400>
   </applet>
  </body>
</html>

选项

答案m_Draw=new Thread(this), if (currentX>100 | | (currentY>100)) repaint();

解析 本题主要考查Java Applet程序的设计,Java语句的线程机制以及for循环语句。解答本题的关键是比较熟练的掌握Java Applet程序的设计,Java语句的线程机制以及for循环语句的有关知识。m_Draw=new Thread(this);语句的功能是以当前对象为参数创建线程对象m_Draw,if(currentX>100||(currentY>100))语句的功能是获取小球的坐标,repaint();语句的功能是重新绘制小球。
转载请注明原文地址:https://jikaoti.com/ti/iNb0FFFM
0

最新回复(0)