0

Java で単純なテキスト エディターを作成しており、元に戻す機能とやり直し機能を追加しようとしています。ユーザーが文字を入力したかどうかだけでなく、ユーザーがテキスト領域への入力を停止したかどうかをプログラムで判断できるようにしたい。プログラムは、入力した唯一の文字である場合にのみ、1 文字を保存する必要があります。これをどのように行うつもりですか?

4

2 に答える 2

2

「タイピングの停止」を定義します。

基本的に、タイマーの使用を考えます。各キャラクター イベントを取得し、キーアップ イベントが発生するたびに再起動するカウンターとタイマーを追加します。十分な時間が経過したときを「タイピングの停止」と定義します。

次に、本当にそのようにやりたいかどうかを考えてください。なぜなら、それは私をトーチとピッチフォークで開発者の家に絶対に怒らせるようなものに聞こえるからです.

于 2011-10-06T02:35:14.437 に答える
0

メインクラスのどこかに;

public static long lastKeyPressTime = 0l;

KeyListener インターフェイスで;

public void keyPressed(KeyEvent evt) {
   lastKeyPressTime = System.currentTimeMillis();
}

最後に、適切な高速実行スレッドで。

if((system.currentTimeMillis() - lastKeyPressTime) > 2000) {
   //do something, because the user hasnt typed for two seconds
}
于 2011-10-06T02:35:44.637 に答える