下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝

11 查阅

下面是一个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循环语句的有关知

计算机二级