import java.awt.*;
import java.util.*;public class Clock extendsM ultiThreadApplet{
public void init(){
MultiThreadApplet m=new MultiThreadApplet();
Thread t=new Thread(m);
t.start();
}
public void run() {
while(true){
repaint();
try {
Thread.sleep(1000);

catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void paint(Graphics g){
   System.out.println("paint...");
   Calendar now=new GregorianCalendar();
   String s=new String();
   int hour=now.get(Calendar.HOUR_OF_DAY);
   int minute=now.get(Calendar.MINUTE);
   int seconds=now.get(Calendar.SECOND);
   g.setColor(Color.red);
   s=hour+":"+minute+":"+seconds;
   g.drawString(s,80,80);
}
}import java.applet.Applet;
class MultiThreadApplet extends Applet implements Runnable{
public void run() {
Clock c=new Clock();
c.run();
}

}paint方法中的测试语句只执行了一次,说明repaint没用。
还有个问题,就是Clock类继承了MultiThreadApplet类,可是为什么在Clock类中直接重写run方法,线程启动后仍然调用MultiThreadApplet类的run方法,而不是Clock类的run方法?(所以我用了对象去调用)