Leandro bom dia…
Eu geralmente faço da seguinte maneira…
Estou na janela principal da minha aplicação e tem 1 botao que me leva para a janela cadastrar funcionario…
digamos que eu quero ir pra janela Cadastrar Funcionario
CadastraFuncionario cadastrarFunc = new CadastraFuncionario();
cadastrarFunc.setVisible(true);
this.dispose();
esse código chama a janela cadastrar funcionario e da 1 dispose na minha janela principal…
Agora na janela cadastrar funcionario quando eu confirmar o cadastro, ela deverá me retornar a janela principal:
ex:
JanelaPrincipalFuncionaio janelaPrincipal = new JanelaPrincipalFuncionario();
janelaPrincipal.setVisible(true);
this.dispose();
sendo assim você retorna para a janela principal e da um dispose nesta janela de cadastrar funcionario…
acho que no caso da sua aplicação se aplicaria da seguinte maneira:
btnPesquisar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ConsultaPessoaFisicaFrame consultaPF = new ConsultaPessoaFisicaFrame();
consultaPF.setVisible(true); //aqui você irá deixar visivel o frame consulta pessoa fisica
this.dispose(); // aqui voce irá dar 1 dispose no frame atual ou seja locacaoFrame.
// aqui vem o resto das coisas que você colocou...
}
});
e para voltar seria:
btnConfirmar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
LocacaoFrame f = new LocacaoFrame();
f.setVisible(true); //aqui voce ira deixar visivel o frame locacaoFrame
this.dispose();//aqui voce ira dar um dispose no frame atual ou seja o consulta pessoa fisica
}
});
espero que eu tenha sido claro, não sei se esse é o melhor metodo para isto, mais eu utilizo desta maneira…
Agora porque usar o “dispose();” porque além de fechar a janela, você irá liberar a memória do recursos do sistema…
senaum você pode usar o this.setVisible(false); ou o this.hide(); este ultimo creio ja esta obsoleto…