以可变速率安排 java 计时器
Schedule java timer at a variable rate
int tickRate = 1950;
TimerTask timerTask = new TimerTask() {
@Override public void run() { Platform.runLater(new Runnable() {
@Override
public void run() {
if(tickRate > 750) { tickRate -= 100; }
else tickRate = 750;
new Egg(gridPane);
}}); } };
Timer timer = new Timer();
timer.scheduleAtFixedRate(timerTask, 1000, tickRate);
如何让我的计时器动态改变它的速率?
是正确的:使用 schedule
而不是 scheduleAtFixedRate
。在每次执行任务期间,让任务安排下一次执行。
还有一件事:Timer
/TimerTask
类 已被 Java 文档中所述的执行器框架所取代。我建议你学习使用 ScheduledExecutorService
。阅读 Oracle 的 Java 教程,并搜索 Stack Overflow 以了解更多信息。
int tickRate = 1950;
TimerTask timerTask = new TimerTask() {
@Override public void run() { Platform.runLater(new Runnable() {
@Override
public void run() {
if(tickRate > 750) { tickRate -= 100; }
else tickRate = 750;
new Egg(gridPane);
}}); } };
Timer timer = new Timer();
timer.scheduleAtFixedRate(timerTask, 1000, tickRate);
如何让我的计时器动态改变它的速率?
schedule
而不是 scheduleAtFixedRate
。在每次执行任务期间,让任务安排下一次执行。
还有一件事:Timer
/TimerTask
类 已被 Java 文档中所述的执行器框架所取代。我建议你学习使用 ScheduledExecutorService
。阅读 Oracle 的 Java 教程,并搜索 Stack Overflow 以了解更多信息。