2017-04-24 2 views
0

こんにちは私は、特定の時間が経過した後に何かを変更する必要があるGUIでJavaプロジェクトをやっています。私は、タイマークラスとTimerTaskクラスの違いを知りたいと思っていました。そうでない場合は、java.util.Timerとjava.swing.Timerがそのような目的で異なるかどうかを知りたがっていますか? 回答ありがとうスイングのタイマーとタイマータスクの違い

+1

参照:http://stackoverflow.com/questions/25025715/javax-swing-timer-vs-java-util-timer-inside-of-a-swing-application – px06

+0

常に 'javax.swing.Timer 'Swingプログラムのために。あなたが何か他のものを使う状況はほとんどありません。 – Radiodef

答えて

1

すべての回答はAPIドキュメントで確認できます。私。 javax.swing.Timerドキュメントは言う: java.util.Timer:V 1.3では

は、別のTimerクラスは、Javaプラットフォームに追加されました。 itとjavax.swing.Timerは同じ基本的な 機能を提供しますが、java.util.Timerはより一般的であり、より多くの機能を持っています( )。 javax.swing.Timerには2種類の機能があり、GUIで使用するのが少し簡単になります( )。第1に、そのイベント処理のメタファーはGUIプログラマーにとっては馴染み深い であり、 イベントディスパッチスレッドを少し簡単に扱うことができます。次に、自動スレッド を共有するということは、 が多すぎるスレッドを生成しないように特別な手順を踏む必要がないということです。代わりに、あなたのタイマーは、カーソルを点滅させるのに使用される同じスレッド を使用し、ツールヒントが表示されます。

短い答えは、java.util.Timerがより一般的であるということです。

また、APIページをチェックすると、どちらのクラスもThreadにはなりません。彼らの中には内部で「スレッド」を使うものもあります。

何らかのタイミングを実装する必要がある場合は、中心のScheduledThreadPoolExecutorを使用することをお勧めします。このスケジュールされたエグゼキュータは、どのタイマーよりも柔軟性があり、また、より多くの制御を提供します。

関連する問題