-1

Java でアプリケーションを作成しており、ユーザーが開始および停止できるカウンターを追加したいと考えています。秒単位でカウントされ、数分、最大数時間 (数日または数か月ではありません) になります。このようなものを作るにはどうすればよいですか?

これがどのように機能するかは次のとおりです。

  1. ユーザーが「開始」をクリックする
  2. カウンタースタート…
  3. ユーザーが「一時停止」をクリック
  4. カウンターは停止するがリセットされない

私はJavaが初めてなので、これまたはこれに似た何かを見ることができるコードはありますか? そうでない場合、誰かが私にこれを始めるための小さなコードを書いてもらえませんか?

ありがとう、リュバウマー

4

4 に答える 4

2

いくつかの推奨事項:

  • GUIライブラリにはSwingを使用します
  • GUI タイマーの中核として Swing Timer を使用します。
  • JLabel は、Swing Timer からの時間の変化を表示します。
  • start JButton の ActionListener は、Swing Timer を開始します (それを呼び出しstart()ます)。
  • 一時停止 JButton の ActionListener は を呼び出しますstop()

それにかんする:

私はJavaが初めてなので、これまたはこれに似た何かを見ることができるコードはありますか? そうでない場合、誰かが私にこれを始めるための小さなコードを書いてもらえませんか?

いいえ、ここではそうではありません。独自のコードを作成する責任はお客様にありますが、スタックしたり、エラーや例外が発生した場合は喜んでお手伝いします。特に難しいと思われる場合は、脳にコードを作成させることで、より多くのことを学ぶことができます。

次のチュートリアルを確認してください。

于 2012-06-30T21:52:47.153 に答える
1

誰かが Guava StopWatch クラスについて言及しました。それで一時停止して再開できるかどうかはわかりませんが、apache commons-lang には suspend() および resume() メソッドを介してこれを許可する StopWatch クラスがあることは知っています

StopWatch stopWatch = new StopWatch();
stopWatch.start();
...
stopWatch.suspend();
...
stopWatch.resume();
...
stopWatch.stop():

long elapsed = stopWatch.getTime();
于 2012-07-01T03:42:40.740 に答える
0

System.nanoTime()現在の時刻をナノ秒単位で返します。一度呼び出して結果を変数に格納し、プログラムをしばらく実行してから、もう一度呼び出して差を計算します。秒、分、または任意の単位に変換できるナノ秒を取得します。

Guava には、すべてを行うStopWatchクラスがあります。

于 2012-06-30T21:54:00.397 に答える
0

私はこれがあなたが求めているものだと信じています

http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html

タイマーを開始および一時停止するボタンを設定できます。

この例は、開始するのに役立ちます。

Swing/SwingTimeraction.htm">http://www.java2s.com/Tutorial/Java/0240_Swing/SwingTimeraction.htm

于 2012-06-30T21:56:41.550 に答える