Ajuda sobre JFrame

Pessoal, eu queria fazer o seguinte

Criar uma tela inicial do programa, ai na parte de cima da tela, criaria os menu, quando eu clicasse em um menu
ao invés de abrir em uma janela, gostaria que abrisse na propria tela principal, abaixo dos menu, como faço isso?
Estou usando o netbeans 6.9
obrigado

Olá… Não sei se entendi de forma correta o que você está querendo fazer mas, dá uma olhada na classe JInternalFrame. Com ela, você pode ter um frame principal e abrir “subframes” ou frames internos (daí o nome da classe) dentro do frame principal.

Segue o link para tutorial: http://download-llnw.oracle.com/javase/tutorial/uiswing/components/internalframe.html

Espero ter ajudado !!! =)

Evite o uso de JInternalFrame, eles causam diversos problemas.

Há duas formas de fazer o que você quer. Uma delas é usar o CardLayout:
http://download.oracle.com/javase/tutorial/uiswing/layout/card.html

Outra é dar uma de firefox e usar TabbedPanes:
http://download.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html

+1

Poderiam citar os problemas causados ?
Agradeço. :slight_smile:

  1. É extremamente difícil posicionar o JInternalFrame do jeito que você quer - por exemplo, não se pode fazer um “JInternalFrame modal”, o posicionamento das janelas nunca é o que o usuário espera, e coisas como essa.
  2. Você acaba precisando pôr 200.000 linhas de código no seu programa para acabar fazendo seu programa parecer-se não com um programa do tipo MDI (que é algo ultrapassado, aliás - nem o Microsoft Office funciona mais assim por default , e foi esse pacote que lançou o MDI), mas com um programa mais moderno
  3. Conselho: fuja do JDesktopPane + JInternalFrame. Se quiser fazer algo parecido com o MS Outlook, por exemplo, pode tentar usar o Flamingo:

https://substance-flamingo.dev.java.net/

https://substance-flamingo.dev.java.net/see.html

tambem nao sei o problema do internal frame.

mas ele pode abrir um jframe em cima do jframe e se abrir outro fechar aquele. e tambem tem o menubar e menuitem que podem abrir novos jframes.

e tambem pode abrir e fechar paineis posicionados no mesmo lugar. nao da certo isto ?

TabbedPanes é uma boa.

[quote=entanglement]1) É extremamente difícil posicionar o JInternalFrame do jeito que você quer - por exemplo, não se pode fazer um “JInternalFrame modal”, o posicionamento das janelas nunca é o que o usuário espera, e coisas como essa.
2) Você acaba precisando pôr 200.000 linhas de código no seu programa para acabar fazendo seu programa parecer-se não com um programa do tipo MDI (que é algo ultrapassado, aliás - nem o Microsoft Office funciona mais assim por default , e foi esse pacote que lançou o MDI), mas com um programa mais moderno
3) Conselho: fuja do JDesktopPane + JInternalFrame. Se quiser fazer algo parecido com o MS Outlook, por exemplo, pode tentar usar o Flamingo:
[/quote]

Continuando…

  1. O JInternalFrame não se comporta como uma aplicação MDI padrão. Ao maximiza-lo, por exemplo, ele não perde a barra superior;
  2. O JDesktopPane não suporta scrollbars, o que é um problema quando seu JInternalFrame é arrastado para fora da tela;