2012-02-24 7 views
0

タイマーの実行を開始したら、どれくらい経過したかを返すにはどうすればよいですか?このタイマーを見えるように設定できますか?時間を返すようにタイマーを取得する方法Java

+0

* "このタイマーを表示することはできますか?" * ..最初はどのように '見えない'ように設定しましたか?どういう意味ですか? –

+0

私は、タイマオブジェクトは私が見ることができるjframeのようではないことを意味しました。下の最初の答え(2番目の段落)が私のためにこれに答えました。 – Maydayfluffy

答えて

3

Timerコンストラクタの2番目の引数として渡すオブジェクトは、ActionListenerを実装します。このインタフェースを介して、タイマーからの各アラーム時にactionPerformedメソッドへの呼び出しを受け取ります。 actionPerformedメソッドにはActionEventパラメータがあり、getWhenメソッドはタイムスタンプを返します。 ActionListenerに経過時間を計算させる場合は、元のタイムスタンプをアクセス可能な場所に保存する必要があります。

スイングタイマーは、独自のグラフィック表示がないメカニズムです。必要に応じて、ActionListenerはタイマーのグラフィック表現を実装できます。それはJPanelのようなグラフィックコンポーネントであり、そのactionPerformedメソッドはタイマーがオフになるたびに何かを描画することによって目に見えるように応答させることができます。

+0

私はtimer.start();と言うと、シーンの背後にはタイマーが設定されていますか?また、私はこれを「タイムスタンプ」と呼んで、他の場所に保管することができますか? – Maydayfluffy

+0

これらのタイムスタンプを保存するのに理想的な場所は何ですか?多くのことがありますので...私が考えることができるのは、jtextareaのようなものです。 – Maydayfluffy

+1

前のactionPerformedからの時間を知りたいだけかもしれません。通常、それはあなたが依頼した時間に近いでしょう。詳しくは、を参照してください。直前のactionPerformedから実際の経過時間を知りたい場合は、ActionListenerオブジェクトに、前のactionPerformedからのタイムスタンプを格納する単一のフィールドを単純に持つことができます。 – minopret

関連する問題