Definir texto JLabel dinâmico em um JDialog por timer

Estou tentando criar um JDialog que mostrará ao usuário uma mensagem dinâmica em um JLabel. A mensagem deve ser uma contagem de 1 a 10 (e deve mudar um número a cada segundo). , o problema é que, quando estou depurando, ele pára logo após o "dia.setVisible (true);" , e não prosseguirá, a menos que eu feche o JDialog. existe alguma maneira possível de consertá-lo? Obrigado

Veja o código:

    @Override
public void run() {

    dia = new JDialog(parentDialog, true);
    dia.setLocationRelativeTo(parentFrame);


    String text = "Text ";
    dia.setSize(300, 150);
    jl = new JLabel(text);
    dia.getContentPane().add(jl);
    dia.setVisible(true);
    for (int i = 0; i < 10; i++) {
        try {
            Thread.sleep(1000);
            jl.setText(text + " " + i);

        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

questionAnswers(8)

yourAnswerToTheQuestion