Я пытаюсь создать приложение и хочу добавить часы. Я делаю часы с помощью JPanel и ActionListener, а также хотел бы использовать таймер. В учебном руководстве Swing говорится, что для создания экземпляра Timer вы должны сказать new Timer (numMillis, this (ActionListener)), однако «this», похоже, не работает с элементами JPanel. Что бы я добавил в конструктор таймера, чтобы правильно создать экземпляр таймера?
public ClockPanel() {
super();
clockLabel.setText(sdf.format(new Date(System.currentTimeMillis())));
clockLabel.setFont(new Font("Monospaced", Font.BOLD, 100));
clockLabel.setOpaque(true);
clockLabel.setBackground(Color.black);
clockLabel.setForeground(Color.white);
timer = new Timer(500, this);
timer.setRepeats(true);
timer.start();
clockLabel.setVisible(true);
initComponents();
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(timer))
clockLabel.setText(sdf.format(new Date(System.currentTimeMillis())));
}