【发布时间】:2014-08-22 09:52:19
【问题描述】:
我正在制作一个使用 Twitter API 的应用程序。我可以在 180 次 API 调用后达到 API 限制,当我达到该限制时我想做的是启动一个计时器,该计时器将每 1 秒更新一次倒计时(jLabel),最重要的部分是计时器将在之后完成一定的 X 秒数(取自 API 调用)。
Android CountDownTimer 类是否有桌面 Java 替代方案?
我知道我可以这样做,但它似乎不合适:
time.scheduleAtFixedRate(new TimerTask() {
long startTime = System.currentTimeMillis();
@Override
public void run() {
if (System.currentTimeMillis() - startTime > X_SECONDS_HERE * 1000) {
cancel();
} else {
// Update GUI countdown here
}
}
另一种选择是使用带有 Thread.sleep() 的 SwingWorker。这些是唯一的选择吗?
【问题讨论】:
-
如果更新
JLabel,请使用 SwingTimer而不是TimerTask或java.util.Timer..
标签: java swing timer countdown