Encerrando uma tela finalize();?

9 respostas
Rodrigo_Lucca

O meu sistema tem uma tela principal onde pode-se escolher a próxima tela.
quando carregada, a segunda tela tem um botão voltar .
Ao Clicar no botão voltar, eu quero que ele finalize a segunda tela e volte para a primeira.
Consegui fazer ele voltar para tela principal usando o mesmo método que uso para chamar a segunda tela.

Mas o sistema ficaria muito pesado, pois estaria abrindo uma tela por cima da outra.
Tentei também usar o método finalize(); mas não da certo!!!..
Será que alguem sabe outra maneira???
valeu…

9 Respostas

Rodrigo_Lucca

Deixa pra lá!!!
Consegui resolver!!!
Usando

!!!
:smiley:
:smiley:

keller

Olá, Rodrigo, usando show(false);
Apenas ocultara a tela.

A melhor opcao pra voce é usar a JDialog.
E para fechar a JDialog use o dialogWindow.dispose();

Valeu? Até… :thumbup:
[s]

keller

Uhmn mais detalhadamente seria isso:

Valeu? Até… :thumbup:
[s]

jgbt

so completando, o metodo finalize() de um objeto, so é chamado quando o objeto for coletado pelo Garbage Collector. portando se a instancia de seus objetos ainda estavam sebdo refernciadas, esse metodo nunca ia ser chamado. uma boa pratica é nunca sobrescrever esse metodo com codigo que que sua app dependa, pois esse metodo pode nunca ser chamado.

[]'s

Rodrigo_Lucca

Realmente show(false) só escondeu a tela…
MAs ainda não consegui usar o JDialog…
Como faço para usa-lo???

Rodrigo_Lucca
Deixa eu ser mais preciso:

Eu consigo fechar a segunda tela usando ou show(false);

ou dispose();

O problema é que quando eu carrego a segunda tela novamente ela mantem as mesmas modificações feitas antes dela ser fechada ou escondida.

EX:
Na Tela 1 eu clico em um botão para ir para Tela 2.
Na tela 2 existe um caixa de texto onde eu escrevo “RODRIGO” por exemplo.
Clico no botão VOLTAR que me leva de novo para Tela 1.

Até ai tudo bem.

Na Tela 1 clico novamente no botão que chama a Tela 2.
Quando abre a Tela 2, continua escrito “RODRIGO” na caixa de texto. Esse é o grande problema…

Como faço para encerrar a Tela 2, e depois quando voltar a carrega-la ela esteja sem “limpa” sem nada escrito ou modificado???

Mantu

Eu também já tive esse tipo de problema e não soube como resolver de uma forma simples e/ou natural também… O que eu fiz então? Recolhi-me à minha ignorância e insignificância e sobrescrevi o método show pra, antes de invocar o show() da JDialog, limpar todos os campos…
Típico jeitinho brasileiro… blergh…

keller

Rodrigo Lucca:

Na Tela 1 clico novamente no botão que chama a Tela 2.
Quando abre a Tela 2, continua escrito “RODRIGO” na caixa de texto. Esse é o grande problema…

Como faço para encerrar a Tela 2, e depois quando voltar a carrega-la ela esteja sem “limpa” sem nada escrito ou modificado???

Uhmn algo me diz que tais usando variaveis static porem,
algo simples é: Limpar o valor do campo e depois exibir.

meuCampo.setText(""); janelaModal.setVisible(true);

Simples assim.

Valeu? Até… :thumbup:
[s]

P

Creio que seria legal quando vc clicar no botão da janela 1 ele chamar um método contrutor da janela 2… Quando você fechar a janela 2 seria legal você mandar ela pro saco! se for um JFrame apenas oculte ela e eleja ela para o garbage collector depois chame o garbage collector para retirála completamente da memória! Assim quando vc clicar novamente no botão da janela 1 a sua janela 2 será reconstruída novinha em folha…

Criado 3 de abril de 2006
Ultima resposta 7 de abr. de 2006
Respostas 9
Participantes 5