Estou tentando entender o motivo para o erro java.awt.EventDispatchThread.pumpEvents e ainda não consigo entender. Alguém poderia me ajudar?
package com.reginildo.principal;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.EventQueue;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Principal extends JFrame {
JLabel labelRelogio;
public static void main(String[] args) {
new Principal();
}
public Principal() {
super("Teste Relogio");
Thread thread = new Thread(new ClasseInterna());
thread.start();
Container container = getContentPane();
container.setLayout(new BorderLayout());
JPanel jPanel = new JPanel();
jPanel.add(labelRelogio);
container.add(BorderLayout.CENTER, jPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setVisible(true);
}
public class ClasseInterna implements Runnable {
@Override
public void run() {
DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss.SSS");
Date date = new Date();
String stringFormattedDate = dateFormat.format(date);
try {
while (true) {
EventQueue.invokeLater(new Runnable() {
public void run() {
labelRelogio.setText(stringFormattedDate);
}
});
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}