执行的代码如下:  
public void paint(Graphics g){
    super.paintComponent(g);
    g.drawImage(digit[minute/10],0,0,this);//显示分钟数的十位
    g.drawImage(digit[minute%10],imageWidth,0,this);//显示分钟数的个位
    g.drawImage(digit[10],imageWidth*2,0,this);   //显示中间的":"分隔符
    g.drawImage(digit[second/10],imageWidth*3,0,this);//显示秒钟的十位
    g.drawImage(digit[second%10],imageWidth*4,0,this);//显示秒钟的个位
}
    minute和second都是一个两位整数,Image型digit[11]数组里放的是11张图片,digit[0]对应数字0,依此类推...digit[10]是分钟与秒钟的分隔符":".这段代码是
    一个JPanel子类的paint方法,它隔一秒钟被调用一次(利用java.util.Timer.scheduleAtFixedRate方法)以用图片的形式显示时间.现在问题是最终结果是对的,
也就是说设定时间为10秒,则它会在10秒从10绘制到00,,但是中间绘制的频率不稳定,有时候1秒绘制一次,有时大于1秒,这时后面的数字就被覆盖了.举例说当21绘制出来后,它会停留大于1秒的时间,等到下次刷新时显示的是19了!!!
    我以为是5次调用g.drawImage耗费了时间,但是我在第一个前获取一次系统时间(用System.currentTimeMillis()静态方法),在最后一个后也获取一次,两次相差结果是0!!!
   真不知问题出在哪!郁闷!!