StopWatch クラスを取得したので、Lap 関数を実装したい
実行/停止ボタンを押すと、タイマーがディスプレイ上でカウントを開始します。実行/停止ボタンを再度押すと、タイマーが停止します。もう一度押すと、タイマーがカウントを再開します。タイマーの実行中にラップ/リセットボタンを押すと、ディスプレイがフリーズしてラップタイムが表示され、タイマーはカウントを続けます (表示されないだけです)。ラップ/リセットボタンをもう一度押すと、ディスプレイはリアルタイムでタイマーの表示を再開します。ラップ/リセットボタンを押すと、ディスプレイがフリーズします。タイマーの実行中にラップ/リセット ボタンを押すと、表示がフリーズします (ただし、タイマーは実行し続けます)。ここで Run/Stop ボタンを押すと、タイマーはカウントを停止しますが、ディスプレイには引き続きラップタイムが表示されます。ラップ/リセットボタンを押すと、次に、ディスプレイがタイマーを表示するように変わります (現在は停止しています)。ここで実行/停止ボタンを押すと、タイマーがカウントを再開します。または、ラップ/リセット ボタンを押すと、タイマーがゼロにリセットされます。
public void startStop() {
timer = new Timer(100, new TimerHandler());
if (!isRunning) {
isRunning = true;
timer.start();
} else {
isRunning = false;
timer.stop();
}
//If now the Run/Stop button is pressed the timer resumes counting
if(!lapPress && !isRunning){
isRunning = true;
}
}
public void lapReset() {
if (!lapPress) {
lapPress = true;
} else if (lapPress) {
lapPress = false;
}
System.out.println(isRunning + " " + lapPress);
// Lap pressed + timer running -> show lap-time + timer continue
if (isRunning && lapPress) {
timer.stop();
}
// Lap press + timer running
if (isRunning && !lapPress) {
timer.start();
}
}
ラップ機能が機能しません。基本的なストップウォッチは問題なく動作しています。要件を更新しました。ボタンを押すためのロジックを確認したいだけです。スタートをクリックしてラップすると表示がフリーズしますが、スタートをクリックしてラップすると表示は更新され続けます。