Como reexecutar uma thread?

Ola pessoal, fiz uma JFrame para sorteio que percorre os nomes no banco de dados. Quando executo ele 1x nao consigo reexecutá-lo, tenho que fechar e abrir de novo o programa.

public class AtivaBotao implements ActionListener{
		Conexao con = new Conexao();		
		Runnable runnable = new Runnable() {
			
			@Override
			public void run() {
				try{
					for(int i=10; i > 0; i--){
						lbGanhador.setText(con.conectar());
						Thread.sleep(500);
					}
				}catch(InterruptedException e){
					e.printStackTrace();
				}	
			}
		};
		
		Thread thread = new Thread(runnable);
		
		@Override	
		public void actionPerformed(ActionEvent arg0) {	
				try{
					thread.start();
				}catch(Exception er){
					er.printStackTrace();
				}				
		}			
	}
}

Vc tá usando thread para percorrer de tempos em tempos ?
Por que Thread ?

Por que se nao ele nao atualiza o JLabel… mas consegui resolver aqui declarei a thread dentro do try do actionPerformed… só nao sei se é o correta a se fazer.

@Override public void actionPerformed(ActionEvent arg0) { try { if(thread.isAlive()){ //TODO... }else{ thread = new Thread(runnable); thread.start(); } } catch (Exception er) { er.printStackTrace(); } }

poxa nao era o que eu queria… ele tah iniciando uma nova thread a cada clique.

Não tem como reexecutar uma thread, você deve criar uma nova thread.

O que pode ser reexecutado é o Runnable. Basta grava-lo numa propriedade ao invés de uma variável.

Vlwwwww galera deu certo aqui. mto obrigado a todos !