Jframe dentro de outro Jframe

11 respostas
E

Olá pessoal,

Como eu faço pra abrir um Jframe dentro de outro, já aberto? Exemplo:

Eu tenho a tela principal de uma aplicação desktop, e tenho botões que me levam a outras telas. Eu queria que a tela de cadastro de clientes, por exemplo, sobrescrevesse a minha tela principal, sem abrir uma nova janela. Espero que tenham entendido.

Ouvir falar em usar o InternalFrame, mas ñ entendi muito bem a sua utilização.

Desde já agradeço qualquer ajuda.

11 Respostas

P

cara, você pode dar um setVisible(false); no panel com seu conteudo e construir um novo naquele lugar.

E

Opa!
Então, isso eu sei fazer. Mas fica esteticamente ruim, porque fica um abre e fecha de janela. Eu quero que na primeira janela (principal), que se abre na barra de tarefas do windows quando inicio minha aplicação, eu possa fazer tudo. Entende?

P

Não estou dizendo isso. Utilize um JFrame que dentro tem um JPanel. Esse JPanel é que você vai colocar seu conteudo, e é nesse que você colocará o visibleFalse e criará um novo JPanel naquele lugar.

C

entao… o que o

pavei
quiz dizer foi o seguinte voce tem um frame cria um jpanel como setVisible(false) assim nao aparece o que voce tem dentro dele e cria outro jpanel tb setVisible(false) dai dependendo do que quizer ele chama passa o jpanel para setVisible(true)

e sobre o jInternalFrame e bem simples voce tem que criar um jDesktopPane pois o jInternalFrame so abre dentro do jDesktopPane

acho que e isso qualquer duvida me avisa

E

Dexa ver se eu entendi. No meu Jframe tem o JContentePane, daí eu faço JContentePane.setVisible(false) e tudo que está no meu frame some. Mas como é que eu faço pra colocar os componentes da outra tela?

=====================

Sobre o InternalFrame: eu crio o DesktopPane e o internalFrame. Mas como é que eu faço para abrir meu internal dentro do meu desktop? O meu desktop tem que estar dentro do Jframe?

Agradeço a ajuda.

P

elizier:
Dexa ver se eu entendi. No meu Jframe tem o JContentePane, daí eu faço JContentePane.setVisible(false) e tudo que está no meu frame some. Mas como é que eu faço pra colocar os componentes da outra tela?

//SEU OUTRO PANEL COM OS DADOS DA OUTRA TELA
jPanel2.setVisible(true);
E

Comecei a usar o DesktopPane junto com o JinternalPane. Porém eu não sei como verificar se o internalframe já está aberto. Outro problema é que quando eu clico em um botão(em um DesktopPane) que chama o internal ele só aparece no segundo clique :shock:

//ação que o botão executa add(teste); //teste é o meu internal teste.setVisible(true); moveToFront(teste); //o botão que gera esta ação está no DesktopPane, e este por sua vez está num Jframe

Mais uma coisinha :slight_smile:
O internal não tem aqueles botões que fica no canto superior direito (fechar, minimizar, maximizar). Como faço para adicioná-los?

Obrigado.

L

elizier:
Comecei a usar o DesktopPane junto com o JinternalPane. Porém eu não sei como verificar se o internalframe já está aberto. Outro problema é que quando eu clico em um botão(em um DesktopPane) que chama o internal ele só aparece no segundo clique :shock:

//ação que o botão executa add(teste); //teste é o meu internal teste.setVisible(true); moveToFront(teste); //o botão que gera esta ação está no DesktopPane, e este por sua vez está num Jframe

Mais uma coisinha :slight_smile:
O internal não tem aqueles botões que fica no canto superior direito (fechar, minimizar, maximizar). Como faço para adicioná-los?

Obrigado.

Oi,

setClosable(true); // Fechar setMaximizable(true); // Maximizar setIconifiable(true); // Minimizar

Tchauzin!

E

Como verificar se o internalframe já está aberto?

//ação que o botão executa add(teste); //teste é o meu internal teste.setVisible(true); moveToFront(teste); //o botão que gera esta ação está no DesktopPane, e este por sua vez está num Jframe

Obrigado.

L

Oi,

Você poderia utilizar o método isVisible() para verificar se sua janela está visivel.

Tchauzin!

U

Cara vc podera ta fazendo o seguinte quando vc chamar um jFrame vc imediatamente fecha o atual!!!

//chamar jFrame
new nome_jFrame ().show(true);
//atual frame
new nome_jFrame().show(false);

ver se resolve!!!
e +/- isso!!
vai tentando
vlw

Criado 18 de outubro de 2009
Ultima resposta 19 de out. de 2009
Respostas 11
Participantes 5