Processo independente

3 respostas
nakrak

Qual seria a melhor forma de criar um processo que fique em loop infinito atualizando os atributos de um objeto?

por exemplo: um botao (JButton) muda o tamanho ou localizacao na tela (setBounds) a cada 5 segundos
eu precisaria setar as coordenadas na tela entao precisaria de dois valores randomicos a cada 5 segundos
mas se eu criar um loop for por exemplo o programa nao continuaria a execucao por isso eu preciso de um processo separado para ficar gerando e setando as coordenadas, algo como setBounds(x, y, 50, 100);

3 Respostas

Tchello
Você tem algumas opções:

1 - Usar um dos 176312 Timers disponíveis;

2 - Criar uma Thread em loop infinito com um sleep(5000);
abreumania

Crie um Thread própria implementando a classe implements Runnable, que irá receber no seu construtor o objeto que deve ser manipulado, no método run que deverá ser implementado você faz seu loop e speepa essa sua thread dentro do loop depois de fazer oque você queria com a instância do objeto recebido no construtor. Após isso da um new Thread passando a instância do seu Runnable e da um start.

Pronto sua aplicação não vai ficar travada!

http://java.sun.com/docs/books/tutorial/essential/concurrency/runthread.html

ViniGodoy
<blockquote><div class="quote-author">Tchello:</div> Você tem algumas opções:

1 - Usar um dos 176312 Timers disponíveis;

2 - Criar uma Thread em loop infinito com um sleep(5000);</blockquote>

Veja esse post: http://www.guj.com.br/posts/list/52964.java#279083
E os dois da página seguinte, para exemplos do que o Tchello falou.

Criado 10 de fevereiro de 2010
Ultima resposta 11 de fev. de 2010
Respostas 3
Participantes 4