Repintando Continuamente em Java

Eu tenho um programa em Java que usa threads. No meu método de execução, tenho:

<code>public void run() {
    while(thread != null){
        repaint();
        System.out.println("hi");
        try {  
            Thread.sleep(1000);  
        } catch (InterruptedException e) {  
            break;  
        }  
    }
}

public void paintComponent(Graphics g) {
    // painting stuff
}
</code>

O problema é que o método run é executado, mas opaintComponent seção não é chamada. Se esse não for o jeito certo de continuar repintando o componente, como devo repintá-lo?

questionAnswers(4)

yourAnswerToTheQuestion