ループさせてなかったし例外も忘れてた。

public void run(){
  try{
    while(! isInterrupted()){
      Thread.sleep(1000);
      currentAngle -= 6;
      if(currentAngle == 0){
        currentAngle = 360;
      }
      repaint();
    }
  } catch(InterruptedException e){/* */}
  return;
}

停止させるときは:

animator.interrupt();
animator = null;