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*/);
}