2017-01-11 11 views
-2

私は、アプリケーションが開いている(実行している)時間を追跡する時間追跡機能を含むjavafxアプリケーションを作成しました。私はSystem.currentTimeMillis()について知っていますが、ボタンとして機能しないボタンを作成することができたかどうかは疑問でした.JFXボタンを使用する必要がありました。アプリ。時間が単独で増加するリアルタイムカウンタのようなもの。しかし、代わりに、代わりにテキストを使用して、アニメーションを使用しての、除きhttps://www.youtube.com/watch?v=f8LOflGG8g8リアルタイムカウンタで経過時間を追跡する

これに似た何かを。

答えて

0
  • はあなたが好きなときにそれを起動し、上記のクラスの引数として現在の時刻を渡す( System.currentTimeMillis()
  • スレッド内では、ループを持っている、とのThread.sleep(1000);
  • Threadクラスを作成します。終わり。ループが進むたびに、手順2で渡した時間を次のように現在の時刻から引いてください。System.currentTimeMillis() - startTime
  • 適切な非同期GUI更新メソッドを使用して、必要なボタンを更新します。あなたは計算された時間を分単位で分け、秒単位で60分、分単位で60分、時間を分単位で60分に分けることができます。
1

テキストだけを更新するためにAnimationTimerを使用します。

public class MyApp extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     long startTime = System.currentTimeMillis(); 
     Label timerLabel = new Label(); 

     new AnimationTimer() { 
      @Override 
      public void handle(long now) { 
       long elapsedMillis = System.currentTimeMillis() - startTime ; 
       timerLabel.setText(Long.toString(elapsedMillis/1000)); 
      } 
     }.start(); 

     // lay out UI etc etc 

    } 
} 
関連する問題