小应用程序创建一个线程。使用容器类方法getGraphics( )获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。
    import java.applet.*;
    import java.awt.*;
    public class Class1 extends java. applet. Applet implements Runnable{
    Thread redBall; Graphics redPen;
    int rx=0,ry=0;
    public void init( ){
    setSize(250,200);
    redBall=new Thread(this);
    redPen=getGraphics( );
    redPen.setColor(Color.red);
    setBackground(Color.gray);
    }
    public void start( ){redBall.start( );    }
    public void run( ){
    while(true) {
    if(Thread.currentThread( )==redBall){
    rx=(int)(80*Math.random( ));
    ry=(int)(80*Math.random( ));
    red Pen.setColor(Color.red);
    red Pen.fillOval(100+rx,100+ry,10,10);
    try{redBall.sleep(500);}
    catch(InterruptedException e) { }
    redPen.setColor(Color.gray);
    redPen.fillOval(100+rx,100+ry,10,10);
    }
    }
    }
    }
 
【正确答案】程序的功能:在随机位置显示一个小圆,程序采用背景色重画的办法,清除前一次显示的小圆。
【答案解析】 在run( )方法中随机产生一个坐标点,以此为左上角坐标,红色填充一个小圆形区域,500毫秒后,用背景色填充同一个小圆形区域,使红色小圆形区域消失,马上又随机产生一个坐标点,再红色填充,再消失,循环不止。