Como instanciar um objeto jPanel que esta em outro arquivo.java?

6 respostas
tiagosarno

E ai galera GUJ,
sou bem iniciante na linguagem JAVA por isso o motivo deste POST.

Gostaria de saber como faço para realizar a seguinte tarefa:

Tenho um arquivo.java chamado sistema.java que contém um componente swing jFrame e um jMenuBar e tenho um segundo arquivo.java chamado cadastro.java que contém três componentes jPanel.
No jMenuBar tenho três jMenuItem (cadastro de clientes, cadastro de distribuidores e cadastro de lojas) onde cada um destes esta representado no seu respectivo jPanel do segundo arquivo cadastro.java.

Como faço para instanciar (abrir) estes jPanels através do arquivo sistema.java quando clicar no jMenuItem referente no jMenuBar? Estou colocando em anexo um projeto java com o que foi descrito acima, se puderem me mostrar através do anexo ficarei muito grato.

Obrigado desde já []'s

6 Respostas

rpatricia

Olá Tiago

Tente isso:

public void actionPerformed(java.awt.event.ActionEvent evt) {
        if (evt.getSource() == jMenuItem1) {
        Classe do JPANEL  nome do objeto = new Classe do JPANEL();
        nome do objeto.show();
        }
}

Ah, vc precisa inserir esses imports:

import javax.swing.<em>;

import java.awt.</em>;

import java.awt.Event.*;

//e também inserir implements ActionListener

public class Nome da classe extends JFrame implements ActionListener {

abs
Patrícia

tiagosarno

Olá Patricia,
ainda não funcionou, esta dando que a função show é deprecated e o jPanel não é mostrado dentro do jFrame quando clico no jMenuIem respectivo. O que pode estar acontecendo?

O arquivo com as modificações sugeridas estão em anexo. Obigado []'s

tiagosarno

HELP :frowning:

D

Bom…vc quer abrir sempre dentro do mesmo JFrame ou a cada vez que vc clicar em abrir uma das janelas, vc abre o mesmo JFrame porém com um JPanel diferente, referente ao q o ítem do menu especifica??? JFrames idênticos com JPanels diferentes em janelas diferentes…

ViniGodoy

O show() é deprecated. Mas se você tivesse lido o javadoc do método, veria que o setVisible(true) não é…

tiagosarno

Beleza, vou tentar utilizar o método setVisible(true) para ver no que dá. Obrigado Douglas e Vini. []'s

Criado 20 de maio de 2007
Ultima resposta 25 de mai. de 2007
Respostas 6
Participantes 4