Ежесекундно выводить текущее время на 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(); } }); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д