繁体   English   中英

如何在 Java Swing 中显示变化的文本(即显示时间随秒数变化)

[英]How to display changing text in Java Swing (ie, display time with changing seconds)

我正在寻找一种将 JFrame 上的当前日期和时间显示为 JLabel 的方法,但让它自动更新。 一旦它被绘制到窗格中,我不必担心手动更新它,因为它会每 2 秒刷新一次。

有没有正确的方法来做到这一点? 而不是每 2 秒手动更改 JLabel 的文本值。

使用javax.swing.Timer确保在 EDT 上更新 Swing 组件。

Timer t = new javax.swing.Timer(2000, new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent e){
        yourLabel.setText(...);
    }
});
t.start();

使用 Swing定时器 正如本教程所解释的,它是这项工作所需的工具。

使用它们的唯一替代方法是将SwingUtilities.invokeLater()SwingUtilities.invokeAndWait()嵌入TimerTask中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM