JavaFx でタイマーを作成する
Java では、特定のスケジュールされたタスクを後でまたは遅延して実行する必要が生じる場合があります。これを実行するには、Java コードにタイマーを追加します。
コードにタイマーを追加するには、java.util
パッケージの Timer
クラスと TimerTask
クラスを使用します。
java.util.Timer
クラスを使用するには、最初にそれをインポートする必要があります。この目的には、import
キーワードの後に目的のクラスを使用します。
import java.util.Timer;
同様に、TimerTask
クラスを使用するには、最初にそれをインポートする必要があります。この目的のために、import
キーワードの後に目的のクラスを使用します。
java.util.TimerTask
クラスを Java プロジェクトにインポートします。
import java.util.TimerTask;
Hello World
メッセージを 5 秒以内に出力する簡単なタスクをスケジュールします。
これを実行するためのコードを見てから、与えられたコードのセクションごとの説明と出力を見てみましょう。
JavaFX でタイマーを作成する
この例では、最初に Timer
クラスと TimerTask
クラスをインポートし、次に main()
メソッド内に、タスクを実行するための Timer
クラスのオブジェクトと匿名の内部クラスを作成しました。
TimerTask
クラスは Runnable
インターフェイスを実装しているため、run()
メソッドをオーバーライドしてタスクを実行してから、schedule()
メソッドを使用します。
タスクを実行します。schedule()
メソッドは 2つの引数を取ります。最初の引数はタスクオブジェクトで、2 番目の引数は遅延時間です。
以下の例を参照してください。
import java.util.Timer;
import java.util.TimerTask;
public class SimpleTesting {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
// The task you want to do
System.out.println("Hello World");
}
};
timer.schedule(task, 5000l);
}
}
出力:
Hello World
タスクのスケジューリングの主要部分は、Timer
クラスの timer.schedule()
メソッドを使用して実行されます。この関数のシグネチャは次のとおりです。
public void schedule(TimerTask task, long delay)
指定された遅延の後に実行するように指定されたタスクをスケジュールします。
パラメータは、タスク、スケジュールおよび遅延、および実行前のミリ秒単位の遅延です。
スローされる可能性のある例外は、遅延が負の場合は IllegalArgumentException
、または delay + System.currentTimeMillis()
が負の場合です。
IllegalStateException
、タスクがすでにスケジュールまたはキャンセルされている場合、タイマーがキャンセルされている、またはタイマースレッドが終了している場合、タスクが null の場合は NullPointerException
。
タスクをスケジュールするために timer.schedule(task, 5000l)
と記述します。最初のパラメーターは以前に定義されたタスクオブジェクトであり、2 番目のパラメーターは必要な遅延です。
5000 ミリ秒に等しい 5 秒の遅延が必要なため、2 番目のパラメーターとして 5000l
を渡します。
l
は長いデータ型を示します。その結果、Hello World
メッセージは、5 秒または 5000 ミリ秒の遅延後に出力に出力されます。
print ステートメントを必須ステートメントに置き換えることで、より複雑なタスクを実行できます。
まとめ
このトピックでは、印刷用の簡単なタスクをスケジュールする例に従って、Java プログラムにタイマーを追加する方法を学び、この概念を実際のユースケースにどのように適用できるかを感じさせます。