[RESOLVIDO]setVisible

4 respostas
lLeandro

[list]Bom dia Pessoal…

Estou com uma dúvida.
Por exemplo eu tenho uma janela LocarVeiculo que antes de finalizar a locação eu tenho um Botão “Pesquisar” que chama outra classe “Janela” Cliente, mas quando busco o clinte e clico em “Confirmar” gostaria de voltar para a mesma tela. E o que acontece é que não sei como fazer essa chamada e acabo instânciando um novo objeto e perco o meu quando setei como [/list]setVisible(false);

[list]Classe LocarVeiculoFrame[/list]

btnPesquisar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ConsultaPessoaFisicaFrame f = new ConsultaPessoaFisicaFrame(); setVisible(false); f.setLocationRelativeTo(null); } });

[list]Classe ConsultaPessoaFisicaFrame[/list]

btnConfirmar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { LocacaoFrame f = new LocacaoFrame(); } });

Quem puder dar uma Luz!

4 Respostas

I

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…

lLeandro

Bom dia Igor…

Dessa maneira eu já conhencia…

Mas o problema que estou é enfrentando é que preciso dos dados digitados na Janela “LocarVeiculoFrame”, é por isso que queria usar o setVisible(), porque eu faço um busca de cliente e quando clico em confirmar volto para janela com o cliente + dados e termino minha locação tendeu?

Valeu pela ajuda!

I

Bem pode ser feito então de duas maneiras…
Eu fiz uma atividade na faculdade que era da seguinte maneira:

Entendi, acho que você pode fazer da seguinte maneira…
independente disso, se voce utilizar o setVisible(), lembre que são 2 janelas diferente, você teria que importar na janela principal digamos os dados obtidos na sua janela de pesquia…

algo do genero:

quando você clicar em confirmar vai criar o objeto para voltar a outra tela, nisso você poderia passar os valores que estão no textField não?

acho que seria algo assim
na pesquisa voce obtem:

porque voce não passa os valores obtidos nos textfield para a outra frame? preenchendo os textFields da outra tela?
tipo passa pelo construtor não seria uma solução?

lLeandro

Não havia pensando nesta solução!!!

Mas vou implementar desta forma!

Obrigado pela ajuda Igor!

Criado 12 de outubro de 2011
Ultima resposta 12 de out. de 2011
Respostas 4
Participantes 2