簡體   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