粗雑な方法ではなく Java Swing タイマーを使用するように勧められましたThread.sleep(2000);
が、これは問題を引き起こしています。
具体的には、タイマーを実行する関数を呼び出す方法がわかりません。タイマーが 20 分だとすると、次のように言えます。
for(int i = 0; i<10; i++){
call20MinuteTimer();
}
次に、そのタイマーは 10 回実行されます (つまり、200 分間ループします)。Thread.sleep() を使用すると、上記の wwas は非常に簡単です。私はそれを言うことができました。
これが私のコードが今どのように見えるかです:
ActionListener a9 = new ActionListener(){
public void actionPerformed(ActionEvent evt){
DateFormat dateFormat = new SimpleDateFormat("HH:mm");
String currentTime = (String) dateFormat.format(new Date());
combo2.append("You completed " + i + ""
+ " pomodoros! At " + currentTime + " \n");
Toolkit.getDefaultToolkit().beep();
}
};
Timer newTimer = new Timer(500, a9);
newTimer.start();
newTimer.setRepeats(false);
上記のコード行をすべて関数 (メインの外側) に入れると、一度だけ呼び出されます。
多分私は何が起こっているのかはっきりしていませんか?私はこれで迷っています。ありがとう