Ежесекундно выводить текущее время на JPanel - Java

Узнай цену своей работы

Формулировка задачи:

прошу помочь в таком вопросе: есть панель (JPanel)на которую выводится время с по помощью (JLabel) , время реализовано через (Calendar), как заставить время обновляться каждую секунду? я так понимаю что надпись JLabel должна удаляться каждую секунду и перерисовывать себя снова, но как сделать чтоб она удалялась я не знаю и найти нигде не могу... пробовал через бесконечный цикл реализовать, но естественно ничего получилось , так как бесконечно выводиться JLabel не могут (выводились один за другим) и программа зависала... Кто-нибудь делал чтоб в программе выводились текущие часы, может у кого есть готовый код?

Решение задачи: «Ежесекундно выводить текущее время на JPanel»

textual
Листинг программы
package easybudda.timelabel;
 
import javax.swing.*;
import java.awt.event.*;
import java.util.Date;
import java.text.DateFormat;
 
public class TimeLabel {
 
    private JLabel label;
    private Timer timer;
    private DateFormat format;
    
    public TimeLabel() {
        label = new JLabel("00:00:00");
        label.setHorizontalAlignment(JLabel.CENTER);
        format = DateFormat.getTimeInstance();
        timer = new Timer(1000, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                label.setText(format.format(new Date()));
            }
        });
        
        JFrame frame = new JFrame("Current time");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 100);
        frame.add(label);
        timer.start();
        frame.setVisible(true);
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new TimeLabel();
            }
        });
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5