私はJavaにかなり慣れていませんが、一般的なプログラミングはしていません。WindowsVistaでJava1.7.0_07を使用しています。Timer
定期的にSwingを目盛りにする方法を見つけようとしています。
actionPerformed
タイマー遅延を設定し、イベントハンドラーにはrepaint()
メソッドしかありませんが、タイマーティックが安定していないか、正確ではないことに気付きました。
私はしばらくの間解決策を探していて、ジョンBマシューズ博士のかなりきちんとしたキネティックモデルの例を見てきました。彼の例では、デフォルトの遅延は40mSですが、タイマーは実際には47mS +/- 1mSで動作します(32mSから63mSまで時折変動します)。彼のイベントハンドラー内で費やされる時間actionPerformed
は常に0mSです。これらの結果は、彼のコードをアプリケーションとして実行した結果です。
「原子」の動きを注意深く観察すると、吃音が目立ちます。タイマーがこのように動作する原因がわかりません。コンピューターで最小限のWindowsタスクを実行していますが、問題は引き続き発生します。
この問題の解決策はありますか、それともこれはJavaの単なる機能ですか?