[问答题] 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。 注意:不改动程序的结构,不得增行或删行。 程序的执行结果为: ![[问答题] 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果 [问答题] 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果](/uploadfile/member/20180926/1537955854.jpg)
import java.awt.*; import java.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);} } cat
参考答案:
问题解析:
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();语句的功能是重新绘制小球。

![[问答题] 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果 [问答题] 下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果](http://www.mshxw.com/aiimages/31/257784.png)
