| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 08:15:25
|
augusto340
JavaChild
Membro desde: 12/01/2012 11:36:52
Mensagens: 113
Offline
|
ola pessoal, seguinte...
tenho um JFrame com um JDesktopPane dentro.
Neste JDesktopPane são abertos os JInternalFrames.
o JFrame abre maximizado, e os JInternalFrames abrem centralizados no JDesktopPane ou JFrame(como preferirem)
o que eu quero:
quando o usuario restaurar o JFrame, e diminuir seu tamanho
o JinternalFrame que estiver aberto volte a ser centralizado.
se o usuario "pegar" com o mouse a borda do JFrame e mecher no seu tamanho, tb centralizar o jinternalframe.
alguem ae faz ideia de como fazer isso?
credito que sea um evento disparado quando alterar o tamanho do JFrame, algo do tipo!
Grato
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 08:40:28
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
Oi,
Poderia explicar melhor? Ficou muito confuso esse JFrame no JDesktopPane etc..
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 08:59:33
|
augusto340
JavaChild
Membro desde: 12/01/2012 11:36:52
Mensagens: 113
Offline
|
Pense em um JFrame com um JDesktopPane dentro.
quando abre o JFrame ele eh maximizado, e o JDesktopPane tb pq esta colado nele.
ae abro um JInternalFrame centralizado dentro deste JDesktopPane.
ate ae tudo bem, porem quando modifico o tamanho do JFrame (logo o JDesktopPane tb eh alterado)
o JInternalFrame fica parado no mesmo lugar.
quero que quando eu mecha no tamanha do JDesktopPane, o JInternalFrame se centralize novamente.
entendeu?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 09:15:25
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 3083
Offline
|
Oi,
Sim.
- Crie um listener para pegar o novo tamanho do JDesktopPane, e jogue o JInternalFrame para o novo ponto central.
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
@gujgirl
http://www.restartfans.hdfree.com.br
Meu blog:
http://www.runthecode.wordpress.com
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 09:18:50
|
augusto340
JavaChild
Membro desde: 12/01/2012 11:36:52
Mensagens: 113
Offline
|
pois é, o problema eh que centralizei o JInternalFrame com a propriedade do netBeans.
entao isso q vc falou eh grago pra mim.
mas valeu, vou dar mais uma pesquisada em relação a isso que voce falou.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 15:21:07
|
discorpio
Virtual Machine Man
Membro desde: 06/02/2010 18:46:46
Mensagens: 547
Localização: Rio de Janeiro
Offline
|
Boa tarde a todos.
Olha, a única maneira de você conseguir fazer isto, não é só implementando um Listener de Evento, mas também reescrevendo o método Paint do JInternalFrame desta forma:
Vale lembrar que o objeto this.getParent() retorna o container do JInternalFrame, que neste caso é o JDesktopPane, portanto o seu JInternalFrame tem que está contindo nele.
Outra sugestão é que você faça desta classe que apresentei, um JInternalFrame genérico, e os demais JInternalFrame estenda (Herda) desta JInternalFrame genérico para que você não fique reescrevendo o método Paint a toda hora.
Coloque este código abaixo, também dentro do seu JFrame principal.
Pois ele apresenta um visual de uma GUI muito agradável.
Um detalhe, que este método Paint reescrito, todos os JInternalFrames serão centralizados, até na abertura dos mesmos, e isto engessa a localização dos mesmos no centro, até se você tentar arrastá-los para outra posição, eles retornarão para o centro, e você não conseguirá colocá-los em outra posição.
Um abraço.
This message was edited 3 times. Last update was at 11/02/2012 08:51:56
|
O Senhor é meu Pastor e nada me faltará. (Sl. 23:01) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2012 09:01:23
|
discorpio
Virtual Machine Man
Membro desde: 06/02/2010 18:46:46
Mensagens: 547
Localização: Rio de Janeiro
Offline
|
Bom dia a todos.
Pensando melhor existe também a implementação com um listener de eventos chamado ComponentListener, é na verdade é bem melhor do que você reescrever o método paint. Isto se deve ao fato, que com o ComponentListener, você não engessa o JInternalFrame totalmente no centro do JDesktopPane, permitindo assim que você o arraste para outro canto, e ele só retornará para o centro do formulário quando for redimensionado, vamos ao código:
Um abraço.
This message was edited 4 times. Last update was at 11/02/2012 09:15:48
|
O Senhor é meu Pastor e nada me faltará. (Sl. 23:01) |
|
|
 |
|
|