私のプログラムでは、キャンバスに keyListener を設定しています。それはうまく機能していますが、私が Thread.sleep(1000) keyListener を実行すると、キーをリッスンして読み取っていますが、スリープ時間が終了したときにのみ結果が表示されます。スリープ期間に入力されたキーを読み取ったり聞いたりしないように keyListener を作成するにはどうすればよいですか?
質問する
4222 次
1 に答える
4
Thread.sleep()
Swingとは関係ありません。質問から、EDT (Event Dispatch Thread) ですべてを行っていると推測されます。したがって、EDT をスリープ状態にすると、Swing は無効にならず、これらのイベントが 1 秒間一時停止するだけです。
タイマーを 1 秒間設定できます。重要なイベントの受信を停止する必要がある場合は、 でコンポーネントを無効にしてsetEnabled(false)
からタイマーを開始し、時間切れになったら を呼び出しますsetEnabled(true)
。
于 2012-03-24T11:42:57.133 に答える