使用するjava.util.TimerTask
java.util.Timer t = new java.util.Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("This will run every 5 seconds");
}
}, 5000, 5000);
GUI を使用している場合は、次のjavax.swing.Timer
例を使用できます。
int delay = 5000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println("This will run every 5 seconds");
}
};
new javax.swing.Timer(delay, taskPerformer).start();
java.util.Timer
との違いに関する情報java.swing.Timer
:
http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html
それと javax.swing.Timer はどちらも同じ基本機能を提供しますが、java.util.Timer はより一般的で、より多くの機能を備えています。javax.swing.Timer には、GUI での使用を少し簡単にする 2 つの機能があります。第 1 に、そのイベント処理メタファは GUI プログラマーになじみがあり、イベント ディスパッチ スレッドの処理を少し簡単にすることができます。2 つ目は、自動スレッド共有により、スレッドの生成が多すぎるのを避けるために特別な手順を実行する必要がないことです。代わりに、タイマーは、カーソルの点滅やツール ヒントの表示などに使用されるのと同じスレッドを使用します。