3

私は次の動作を達成しようとしています:

複数の要素を (スイングで) 切り替えるボタンを押します。重要なのは、最後の 1 秒間にトグルが発生しなかった場合にのみ、メッセージなどを表示する必要があるということです。つまり、 を押しbutton1て 1 秒待つと、押したメッセージが表示されbutton1ます。を押しbutton1てから (1 秒以内に) を押すbutton2と、押されたとメッセージが表示button2されます。

私はこのようないくつかのタイマーのものを見つけました(私が今知っているように、これはアンドロイドの例です.おそらくswingにはこれに似たものがありますか??):

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

どうすればタスクを停止できますか? コードは必要ありません。ヒントだけです。

4

1 に答える 1

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);
于 2012-07-03T14:52:19.487 に答える