JButton redirecionando para um JPanel (classe java)

16 respostas
V

Olá, tenho um menu com uns itens:
*Cliente
–Cadastrar
–Consultar
–Alterar

Eu quero que quando clique no JButton CadastrarCliente eu abra a nova janela, um JFrame chamado Cadastrar.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }

Procurei no Fórum por soluções parecidas e não achei. Se tiver, me desculpe e me enviar o link por favor…

16 Respostas

L

istancie o novo jframe no evento do clique do botao,

nao esqueça de “setar” como visivel e setar o dispose on close, caso fexar ele fexe realmente!

L

caso não tenha entendido me avisa aqui que eu implemento rapidinho pra você.

V

Bem, entendi mas não sei como fazer =D
Pode me dar uma mão?
(sei que uma coisa simples, so não lembro…)
Obrigado

L
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {  
                                Cadastrar cadastrar  = new Cadastrar();
				cadastrar.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
				cadastrar.setLocationRelativeTo(null);
				cadastrar.setVisible(true);
    }
V

luizalfredohartke:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Cadastrar cadastrar = new Cadastrar(); cadastrar.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); cadastrar.setLocationRelativeTo(null); cadastrar.setVisible(true); }

Obrigado, abriu a tela Cadastrar, mas não fechou a tela menu.
Seria melhor deixar a tela menu aberta de fundo? ou tem como fechar ela, e colocando um botão “Voltar” no Cadastrar voltaria para o Menu…

F

Da um setVisible “false” referente ao frame que deseja não exibir!

Abraços

L

da um dispose(); no evento do botao, mais só apos ter istanciado o novo jframe no caso cadastrar se deseja fexar a tela anterior.

V

Pensando melhor, num primeiro instante, posso até deixar abir o Cadastrar e deixar o Menu. Porem, quando fecho a janela Cadastrar, fecha a Menu também, e queria manter o Menu.
Alguma ideia?!?

L

hmm

da uma olhada se no metodo teu evento no botao de que istancia a classe Cadastrar se não há algo setando o a tela de Menu pra setVisible(false) ou se sobrou algum dispose();

G

Faz um container MDI, denttro dele vc simplesmente mostra JInternalFrames, fica mais organizado e bonito, não é tão complicado de fazer.

G
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {     
                                Cadastrar cadastrar  = new Cadastrar();   
                cadastrar.setDefaultCloseOperation(DISPOSE_ON_CLOSE);   
                cadastrar.setLocationRelativeTo(null);   
                cadastrar.setVisible(true);   
    }

No caso de ele estar fechando a janela anterior, simplesmente tire o JFrame.DISPOSE_ON_CLOSE, deixe somente DISPOSE_ON_CLOSE.

V

Ok, mas ja fiz quase todas minhas janela separadas, tem como incluir, ou fazer tudo de novo? E como funciona o contêiner MDI? (é por navegação de abas?)
ABs

G

É básicamente um JFrame que é dono de um container chamado DesktopPane ao qual dentro dele é possível adicionar vários outros frames que são chamados de JInternalFrames, funcionando como se fosse o próprio windows, onde vc abre janelas e as arrasta dentro da área de trabalho, veja essa foto:

V

guilherme.dio:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Cadastrar cadastrar = new Cadastrar(); cadastrar.setDefaultCloseOperation(DISPOSE_ON_CLOSE); cadastrar.setLocationRelativeTo(null); cadastrar.setVisible(true); }

No caso de ele estar fechando a janela anterior, simplesmente tire o JFrame.DISPOSE_ON_CLOSE, deixe somente DISPOSE_ON_CLOSE.

Não funcionou… =/ Tirei o “JFrame.” mas mesmo assim ele fecha a janelaPai.
Só preciso que ele feche a janela atual.

estou usando o (pode ser isso):

I

Vitoriano:

No caso de ele estar fechando a janela anterior, simplesmente tire o JFrame.DISPOSE_ON_CLOSE, deixe somente DISPOSE_ON_CLOSE.

Não funcionou… =/ Tirei o “JFrame.” mas mesmo assim ele fecha a janelaPai.
Só preciso que ele feche a janela atual.

estou usando o (pode ser isso):

esse código irá fechar o programa por completo para fechar o JFrame primeiro você seta ele com isso igual foi dito antes

e para fechar use isso

coloca o seu código completo ai caso não consiga resolver

V

[quote=Ivan Alves]

Vitoriano:

e para fechar use isso

Não entendi essa parte final.
Por exemplo, no meu esta >

private void jMenu6MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: System.exit(0); }

Eu vou colocar como?

? (onde o RegistrarEmpregado é a classe java)

Criado 28 de junho de 2011
Ultima resposta 13 de jul. de 2011
Respostas 16
Participantes 5