1

時計の秒数が増えていないのはなぜですか?

public class timeTest extends javax.swing.JFrame {

    public timeTest() {
        initComponents();
        showTime();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new timeTest().setVisible(true);
            }
        });
    }

    private javax.swing.JLabel timeLable;

    private void showTime() {
        Timer timer = new Timer(100, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Calendar time = Calendar.getInstance();
                timeLable.setText(time.getTime().toString());
            }
        });
        timer.setRepeats(false);
        timer.start();
    }
}

私はコードを書いていません。IDE によって生成されたものです。

4

2 に答える 2

7

タイマーは繰り返されません。

timer.setRepeats(true);

繰り返すように設定します。

実際にはこれは必要ありません。デフォルトで true に設定されています。

于 2013-02-19T16:27:19.777 に答える
2

交換

timer.setRepeats(false);

timer.setRepeats(true);

見栄えを良くするために日付フォーマッタを追加するだけです

public class timeTest extends javax.swing.JFrame {

  SimpleDateFormat date_format = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss");

    public timeTest() {
        initComponents();
        showTime();
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new timeTest().setVisible(true);
            }
        });
    }

    private javax.swing.JLabel timeLable;

    private void showTime() {
        Timer timer = new Timer(100, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Calendar time = Calendar.getInstance();
                timeLable.setText(date_format.format(time.getTime()));
            }
        });
        timer.setRepeats(true);
        timer.start();
    }
}
于 2013-02-19T16:40:43.213 に答える