Bom dia pessoal!
Tenha uma dúvida de como executar a minha Thread:
É o seguinte, eu tenho uma tela na qual faz uma consulta no banco de dados, e o codigo que executa a consulta está dentro de uma Thread.
minha Class Thread:
class Processo extends Thread{
public void run(){
/// Aqui é feito a consulta, e é retornado um list de objetos e tal..
// aqui eu jogo os meus valores pra dentro de um JTable
}
}
Ai depois eu tenho o evento no botão que dispara essa Thread:
private void btLocalizarActionPerformed(ActionEvent e) {
// Onde p é a classe da minha Thread que criei a referencia lá em cima (Dentro da classe da minha janela)
// Eu chamo ela dessa maneira a baixo
SwingUtilities.invokeLater(p);
}
Porem é o seguinte, quando eu executo ela com o ( SwingUtilities.invokeLater) a minha tela “trava” e quando eu executo
dessa forma:
new Processo().star();
O processo é executado da maneira que eu gostaria, a tela não trava e eu consigo fazer outras coisas enquanto a consulta é realizada
porem gostaria de saber qual é a diferença dessas duas maneiras de executar?
e qual a melhor maneira??
abraço
Agradeço desde já se alguem me ajudar…