【问题标题】:Troubles with Swing Timer and ActionEventsSwing Timer 和 ActionEvents 的问题
【发布时间】:2011-06-13 15:50:07
【问题描述】:

我正在尝试让 JLabel 显示日期并每秒更新一次。为此,我使用 Swing 的 Timer 类并实现我自己的称为 DateTimer 的类。 DateTimer 也是一个 ActionListener。

这是日期计时器:

public class DateTimer implements ActionListener {
    private int delay;
    private JLabel label;
    private Calendar cal;

    public DateTimer(int delay, JLabel label) {
        this.delay = delay;
        this.label = label;

        cal = Calendar.getInstance();
        new Timer(this.delay, this).start();
    }

    public void actionPerformed(ActionEvent e) {
        this.label.setText(this.cal.getTime().toString());
    }

}

我在代码中的其他地方这样调用它:

new DateTimer(1000, this.label);

我得到显示一次的日期,然后它永远不会更新。

我是 Java GUI 和处理操作的新手,所以请原谅我的无知。

【问题讨论】:

    标签: java swing user-interface date timer


    【解决方案1】:

    java.util.Calendar.getInstance() 返回一个表示当前日期和时间的对象在它被创建时。它不会像您假设的那样自动更新。

    【讨论】:

    • +1,而不是他可能想要执行以下操作Calendar.getInstance().getTime().toString()
    • 是的,做到了。感谢你们俩。我正在使用 Calendar.getInstance().getTime().toString()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多