Valor JLAbel nao atualiza

Bom, eu tenho um código onde eu executo um calculo e vou mostrando os valores, mais ou menos assim:

 for(int i=0;i<10;i++){
    lblValor.setText(i.toString()); 
}

Porém só mostra o valor final do laço for. mesmo eu colocando um thread.sleep(900), ele só mostra o valor final.

o valor do label não está em 10?

bom , como estou dando thread.sleep(900) o certo seria ele ir mostrando ao usuario o valor progressivamente, tipo : 1…2…3…4…5

Dispare o calculo numa thread separada.

O JLabel só processa sua repintura depois que o evento de botão termina. Afinal, a pintura e o evento fazem parte da mesma thread.