1

ボタンをクリックしたときに、テキスト フィールドに実際のシステム時刻を表示しようとしています。これまでのところ、毎回ボタンをクリックするとライブ結果のみが表示されます。時間が継続的に更新されるように、ActionListener をアタッチするのに苦労しています。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date time = new Date();

    dateFormat.format(time);
    ActualTime.setText(dateFormat.format(time)); 

    Calendar cal = Calendar.getInstance();
    ActualTime.setText(dateFormat.format(cal.getTime()));
}                            
4

1 に答える 1

3

質問を編集していただきありがとうございます。

  • 時間を継続的に更新するには、Swing Timer を使用して、タイマーの表示を xxx ミリ秒ごとに更新します。ここで、xxx は、更新を実行する頻度によって異なります。
  • Timer は、現在の JButton と同じように ActionListener を使用します。
  • 必要な場合はstart()、JButton の ActionListener 内から Timer を呼び出すだけで、JButton の ActionListener で Timer を開始できます。
  • これが私のコードなら、DateFormat オブジェクトをフィールドにして、一度だけ作成します。コードはいくらか単純化できると思います。
  • これはSwing Timer Tutorialへのリンクです。
于 2013-11-10T00:00:08.940 に答える