如何在没有输入发生一段时间后执行

时间:2012-07-03 14:41:54

标签: java swing time

我正在尝试实现以下行为:

按下一个按钮,可以切换多个元素(摆动)。关键是,如果在最后一秒没有发生切换,则只应出现一条消息或其他内容。这意味着您按下button1,等待一秒钟,然后按下您按下的消息button1;如果您按button1,然后(在一秒钟内)按button2,则消息应该说button2已被按下。

我发现了一些像这样的计时器东西(我现在知道,这是一个安卓的例子。也许有类似于摇摆的东西?):

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Do something after 1000ms
  }
}, 1000);

我怎么能停止任务?我不需要任何代码,只需要提示。

1 个答案:

答案 0 :(得分:2)

代码

final Handler handler = new Handler();
Runnable runIt = new Runnable() {
  @Override
  public void run() {
  //Do something after 1000ms
  }
}
handler.postDelayed(runIt, 1000);

您可以通过

删除队列中的邮件
handler.removeCallbacks(runIt);