java swing计时器......感叹

use*_*497 1 java swing

我正在尝试使用摆动计时器来补偿帧速率不一致.我试过了:


class TimerListener implements ActionListener {
   public void actionPerformed(ActionEvent e){
         timeCur = System.currentTimeMillis();
         timer.setDelay(speed - (int)(timeCur - timePrev));
         repaint();
    }
}
...
public void paintComponent(Graphics g){...
        timePrev = System.currentTimeMillis();
}
 speed=30;
 private long timePrev=System.currentTimeMillis(), 
 timeCur=System.currentTimeMillis();
无济于事.如何解决这个问题?