如何知道AnimationTimer是否正在运行?

如何知道AnimationTimer是否正在运行?,animation,javafx,timer,Animation,Javafx,Timer,有没有办法知道AnimationTimer是否正在运行?我想切换如下暂停菜单: setOnKeyTyped(event -> { switch (event.getCode()) { case SPACE: if (animationTimer.isRunning()) { // What should I put here? animationTimer.stop(); } else { animationT

有没有办法知道
AnimationTimer
是否正在运行?我想切换如下暂停菜单:

setOnKeyTyped(event -> {
  switch (event.getCode()) {
    case SPACE:
      if (animationTimer.isRunning()) { // What should I put here?
        animationTimer.stop();
      }
      else {
        animationTimer.start();
      }
      break;

    default:
      break;
  }
}

您可以覆盖
start
stop
以保留有关计时器是否正在运行的信息:

class StatusTimer extends AnimationTimer {

    private volatile boolean running;

    @Override
    public void start() {
         super.start();
         running = true;
    }

    @Override
    public void stop() {
        super.stop();
        running = false;
    }

    public boolean isRunning() {
        return running;
    }

    ...

}

如果不访问
AnimationTimer

的私有成员,似乎没有其他方法。没有
getStatus()
方法。对我来说,这似乎是一个非常糟糕的设计……我听取了任何建议。这是一个建议。