• 下面是一个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();m_Draw=new Thread(this),     if (currentX>100 | | (currentY>100))     repaint(); 解析:本题主要考查Java Applet程序的设计,Java语句的线程机制以及for循环语句。解答本题的关键是比较熟练的掌握Java Applet程序的设计,Java语句的线程机制以及for循环语句的有关知
  • 2021年07月15日 21时44分来自  问答库 >> 计算机类
  • 评论 0
  • 手机玩微博

    手机版 手机端
    Powered by 日新微博 © 2018 - 2020 日新网