如何在JavaSwing中显示变化的文本(即,显示时间和变化的秒数)

如何在JavaSwing中显示变化的文本(即,显示时间和变化的秒数),java,swing,date,time,jlabel,Java,Swing,Date,Time,Jlabel,我正在寻找一种在JFrame上以JLabel显示当前日期和时间的方法,但要自动更新。一旦它被绘制到窗格中,我就不必担心手动更新它,因为它会每2秒刷新一次 有没有合适的方法?不要每2秒手动更改JLabel的文本值。使用以确保在EDT上更新Swing组件 Timer t = new javax.swing.Timer(2000, new ActionListener(){ @Override public void actionPerformed(ActionEvent e){

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

有没有合适的方法?不要每2秒手动更改JLabel的文本值。

使用以确保在EDT上更新Swing组件

Timer t = new javax.swing.Timer(2000, new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent e){
        yourLabel.setText(...);
    }
});
t.start();
用秋千。正如所解释的,它是工作所必需的工具


使用它们的唯一替代方法是在
TimerTask

中嵌入
SwingUtilities.invokeLater()
SwingUtilities.invokeAndWait()
,感谢您提供了到教程的链接以及一些计时器示例