JTable

toda vez que eu clico num botão de localizar, abre um JTABLE, com o resultado de uma pesquisa, e se eu clicar no botão localizar novamente, abre outro JTABLE com outra pesquisa, mais o primeiro naum fecha automaticamente ao abrir o segundo… como q eu resolvo isso??? :?: :!: :?: :oops:

Por que você mesmo não fecha a janela do JTable manualmente. Basta ter acesso a referência da janela. Até mesmo em Delphi o processo tem que ser manual. Para soluciona-lo, faça a janela modal e crie um código como o seguinte.

public void ActionPerformed(ActionEvent evt) {
  try {
    FarameJTable fjt = new FrameJTable(/*parametros de inicializacao*/);
    fjt.show();
  } finally {
    fjt.dispose();
  }
}

Como a janela é modal o foco não pode retornar ao programa a menos que você a feche, e, ao fechar, o método dispose é chamado para liberar os recursos alocados.

Caso a janela não seja modal (i.e. o usuário pode continuar interagindo com o programa) é necessário guardar a referência da janela, para que possa ser chamada o dispose automaticamente.

public void ActionPerformed(ActionEvent evt) {
  /*fjt é uma referência previamente criada (lógico)*/
  if (fjt != null) {
    fjt.dispose();
  }
  fjt = new FrameJTable(/*Novos parametros de busca*/);
}