如何知道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()
方法。对我来说,这似乎是一个非常糟糕的设计……我听取了任何建议。这是一个建议。