E ai galera beleza…
fiz um botão em minha aplicação que ao ser apertado ele inicia um thread (obj.start() até ai beleza…
O problema esta que quando eu aperto esse botão de novo o esquema não funciona.A inicialização da thread através do botão só funciona uma vez.
Depois que a thread executar e terminar caso eu queira executa-la de novo como fazer??
Estranho hein? Onde fica o código da thread? Dentro do evento do botão? Eu fiz um negócio assim:
private void startButtonActionPerformed(ActionEvent e){
Thread t = new Thread(){
public void run(){
for (int i = 0; i < 10; i++) {
sitLabel.setText(String.valueOf(i));
try {
Thread.sleep(1000);
} catch (Exception e) {
System.err.println("Deu crap");
}
}
}
};
t.start();
}
E depois dos 10 segundos, se eu apertar de volta ele funciona tranquilamente. O código da sua thread está fora do evento do botão?
A instancia Teste rr = new Teste(); foi instanciada fora do evento do botão e a thread é chamada dentro do botão (rr.start) toda vez que o botão é apertado.
Eu não posso gerar apenas um objeto (rr) e ficar inicando a thread no evento do botão?
[quote=Naurjr]A instancia Teste rr = new Teste(); foi instanciada fora do evento do botão e a thread é chamada dentro do botão (rr.start) toda vez que o botão é apertado.
Eu não posso gerar apenas um objeto (rr) e ficar inicando a thread no evento do botão?
Valeu pela ajuda!![/quote]
não! Depois que ela foi iniciada elá irá fazer a parte dele e adeus.