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.
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.
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.