Chamando formularios Swings

10 respostas
R

Pessoal não estou conseguindo algo que aparentemente é simples.
Tenho dois formulários e em um deles tenho o botão próximo, quando clico nele a ideia é que seja aberto o outro formulário2 e feche o anterior o formulário1.
Não estou conseguindo fazer isso.
Pois quando fecha um ou o outro fecha tudo.
Alguém pode me dar um help sobre isso?

10 Respostas

marcelo.bellissimo

Depende de como você fez… manda o código aí pra gente ver como está…

G

setVisible(true ou false);

marcelo.bellissimo

… manda o código, por favor …

kenneth

Fala ae brow…
Verifica se voce, na hora de fechar os frames, nao ta colocando System.exit()
Assim, encerra a aplicacao…

Coloque um .setVisible(false);

=]

Anime

Estranho,sem o código fica dificil mesmo… :roll:

R

Os dois formulários criei no netbeans.
São formulários de uma pesquisa onde constam de perguntas e respostas algumas com checkbox e outras com radiobuton, tem neles três botões voltar, avançar e fechar.
vamos então por parte que código colocar nestes botões?

ViniGodoy

Opções:

  1. Use o CardLayout e faça um form só:
    http://download.oracle.com/javase/tutorial/uiswing/layout/card.html

  2. Chame this.dispose() depois de dar setVisible(true) no seu formulário;

Se está fechando tudo, pode ser por duas razões:

  1. Você está chamando System.exit(0). Esse é comando para fechar tudo. Troque por this.dispose() que é o comando para fechar o form;
  2. O defaultCloseOperation do seu form está marcado como EXIT_ON_CLOSE. Defina ele para DISPOSE_ON_CLOSE.
R

Não conheço o CardLayout mas irei dar uma pesquisada vê se consigo alguns exemplo para eu entender como é o funcionamento e verei se resolvo minha dúvida.
Obrigado a todos!!

R

ViniGodoy:
Opções:

  1. Use o CardLayout e faça um form só:
    http://download.oracle.com/javase/tutorial/uiswing/layout/card.html

  2. Chame this.dispose() depois de dar setVisible(true) no seu formulário;

Se está fechando tudo, pode ser por duas razões:

  1. Você está chamando System.exit(0). Esse é comando para fechar tudo. Troque por this.dispose() que é o comando para fechar o form;
  2. O defaultCloseOperation do seu form está marcado como EXIT_ON_CLOSE. Defina ele para DISPOSE_ON_CLOSE.

Obrigado ViniGodoy nem precisou eu utilizar o CardLayout fiz como você indicou alterando o defaultCloseOperation e colocando o this.dispose().
Deu certo!!!
Mas irie estudar o CardLayout

R

Obrigado galera pela ajuda. Agora tenho outra dúvida.
Quando chamo meus formulário ele fica no canto superior direito, como faço para ele ficar no centro da tela?
Tem alguma propriedade no netbeans ou mesmo via linha de código?

Criado 30 de agosto de 2010
Ultima resposta 30 de out. de 2010
Respostas 10
Participantes 6