Loteria em java

Amigos. Sou programadorweb e atualmente fui desafiado na minha empresa para desenvolver em Java para web e Desktop. Para a web eu consigo com facilidade o que pretendo pq lanço mão do javascript. Mas em desktop, nao consigo.

Chega de enrolação, o q pretendo?
Pretendo fazer um sorteio de um número. Mas q esse sorteio seja visualizado pelo usuário, ou seja, gostaria que os numeros ficassem sorteando até que alcançassem o número X que eu já previamente sorteei pelo banco de dados (isso é fácil).
Meu problema é justamente a visualização desse “sorteio”.

Consegui me fazer entender?
Agradeço a colaboração.

Voce pode usar o JOptionPane.showMessageDialog(null, numeroSorteado) para mostrar em uma janela os numeros sorteados em sequencia

Na verdade, o q queria era q os números ficassem sorteando visivelmente.

Existe um setInterval ou setTimeout como o javascript?

Cara, a idéia que te dou é a de utilizar uma Thread que sorteie os números aletoriamente e que te retorne esse valor. Para o interval você pode dar um Thread.sleep(timeInMiliseconds) a cada interação.

Eu tentei exatamente o Thread.sleep. Nao funcionou ou nao sei como fazer.
Vamos lá, digamos que eu queria acessar uma função chamada contar a cada 1 segundo até que x seja igual a 10.
Como faria?

talvez tenha que dar um getCurrentThread, pra só assim dar um sleep nele.
O problema é que vai ficar travada a tela enquanto isso.

Uma solução interessante seria criar uma classe separada que extende thread ou implementa runable. Então no construtor dessa classe vc passa o seu formulário. Dentro da classe, por um loop infinito e toda vez que passar pelo sleep, chama o método do seu formulário.

E pra ficar massa mesmo, o bom seria criar uma interface com o método de atualização e fazer seu frame implementá-lo. Então no construtor da classe thread receber essa interface em vez de uma classe de form, assim vc poderia usar essa thread em qualquer formulário que a implementasse a interface criada.

Eu já fiz do jeito q vc disse antes, e nao quero com a tela travada.

Como seria essa solução.
Eu uso o netbeans. Poderia me explicar melhor. Pq eu de fato estou programando a pouco tempo em Java.

Parece um trabalho para o padrão Observer.

Crie uma classe Sorteio que estenda de Thread, faça ela receber uma Cesta, e no método run faça o sorteio, coloque as bolas na Cesta, e faça a thread parar ou durmir dependendo da sua regra.

Faça a aplicação observar a cesta, e quando o número de itens nela mudar, atualize a tela. Geralmente isso é implementado com eventos e listeners.

Blz amigos. Já resolvi. Lancei mão de uma código de relogio digital e me basiei nele.
Abração e valeu a ajuda.