JInternalFrame

9 respostas
B

Alguem pode me ajudar? tenho 2 duvidas 2 probleminhas ;/, vejam só.

1-) Abro meu JInternalFrame dentro do meu JDesktop com sucesso mas n sei como faze para exibir o internalframe no local que eu desejar como faço isso???

2-) Tenho um jpanel contendo buttons como faco para deixar meu jpanel fixo como um jmenu(exemplo) , digo quando eu arrasto meu jinternal frame no jmenu ele n sobrepoe o jmenu, e quando passo o jinternalframe em cima de meu jpanel ele sobrepoe o conteudo por cima!

Muito obrigada pela atencao gente, att.

9 Respostas

doug

Olá,
Vamos lá, tentar resolver as suas dúvidas:

Tente utilizar o setLocation(x,y) para setar a posição do seu InternalFrame. Caso queira pode tentar utilizar o bounds (setBounds(w,h,x,y).. w é a largura, h a altura e x,y é a posição do componente).

2-) Tenho um jpanel contendo buttons como faco para deixar meu jpanel fixo como um jmenu(exemplo) , digo quando eu arrasto meu jinternal frame no jmenu ele n sobrepoe o jmenu, e quando passo o jinternalframe em cima de meu jpanel ele sobrepoe o conteudo por cima!

Eu não entendi direito, mas acho que vc poderia ver como encaixar seu jpanel junto com o Jdesktop… lá no seu frame… dai ele fica sem acesso pelo internframe, assim:
______________________________
|JFRMAE_______x|
| |
| | JPANEL_ | |
| | JDESKTOP | |

Não sei se te respondi o q vc queria.. qq coisa pode voltar a postar.. dai vejo certinjo

Espero ter ajudada
Flwsss

B

Tiago muito obrigada pela sua atencao o problema foi resolvido com o que vc respondeu, porem no 2 probleminha creio que nao expliquei direito e entao tirei um print para vc entender melhor veja

Repare que o jinternal ele n sobrepoe sua tela sobre o jmenu porem sobre o meu jpanel que contem os jbutton ele sobrepoe! obrigada mais uma vez

R

Biluquinha: o JPanel que contém os JButtons está inserido no DesktopPane em que você está colocando seus JInternalFrame’s? Se for esse o caso infelizmente não há solução, o JInternalFrame infelizmente vai passar por cima do JPanel. Sugestão para resolver:

  • No JFrame que conterá o JPanel com os JButton’s e o DesktopPane com os JInternalFrame’s, use BorderLayout como gerenciador de layout;
  • Insira no JFrame o JPanel com os JButton’s, onde esse JPanel ocupará a posição BorderLayout.WEST;
  • Insira no JFrame o DesktopPane, onde o DesktopPane ocupará a posição BorderLayout.CENTER.

Dessa maneira os JInternalFrame’s jamais poderão invadir a área do JPanel.

B
Coloquei desta maneira porem desse jeito quando dou run no meu projeto ele n abre esse panel ;/, e coloquei o borderlayout q pode estar faltando?

Coloquei desta maneira porem desse jeito quando dou run no meu projeto ele n abre esse panel ;/, e coloquei o borderlayout q pode estar faltando?

R

Hum, respondi inicialmente à sua pergunta sem ter minha IDE à mão, agora que tentei fazer na prática vejo que é mais complicado do que eu pensava. Criei um projeto de teste no NetBeans e segui os passos abaixo, fazendo tudo através do construtor de GUI (nada de codificação manual):

  • Criei o JFrame e mudei o layout para BorderLayout;
  • Pus um JDesktopPane no JFrame na posição BorderLayout.CENTER;
  • Pus um JPanel no JDesktopPane, pus três JButton’s no JPanel, e em seguida tirei o JPanel do JDesktopPane de modo que ficasse no JFrame na posição BorderLayout.WEST;
  • Mudei o preferredSize() do JPanel para 100,100 e cliquei OK;
  • Mudei novamente o preferredSize() do JPanel, mas dessa vez cliquei em “Reset to default”.

Desse ponto em diante bastou codificar a criação dos JInternalFrame’s através do primeiro JButton. Segue em anexo neste post o projeto que criei no NetBeans para atingir o objetivo, espero que seja útil.

B

roger, sem descricoes para a sua ajuda! era exatamente isso que queria, vou estudar bem seu codigo muito obrigada, a vc e ao forum guj :*

R

Grato que tenha sido útil :slight_smile:

A

Oi… Cheguei agora na Comunidade.

Tenho um problema parecido… fiz o download deste código, porém o que estou tentando fazer é abrir e distribuir vários jInternalFrames dentro do jDesktopPane que está no jFrame… pelo Netbeans eu só consigo deixar o jInternalFrame centralizado… Eu quero criar um layout com várias janelas flutuantes ou de encaixe… lado a lado horizontal… vertical… em cascata etc…é possível fazer isso?

No meu jFrame (mainUI) eu tentei algo assim:

[color=green]FormularioUI form = new FormularioUI();

jDesktoPane.add(form);

form.setAlignmentX(TOP_ALIGNMENT);

form.setAlignmentY(RIGHT_ALIGNMENT);

form.setVisible(true);[/color]

Vou continuar procurando na comunidade para ver se encontro!

S

Olá amigo

dê uma olhada em:

http://oswing.sourceforge.net/
http://oswing.sourceforge.net/gui.html

já faz um monte de coisas para vc.

Silvio Guedes

Criado 3 de maio de 2009
Ultima resposta 18 de jan. de 2010
Respostas 9
Participantes 5