| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 14:21:06
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Pessoal, dúvida cruel:
precisamos, em uma aplicação, alterar um componente da interface em tempo de execução. Por exemplo, quando abrir um arquivo, abrir, no centro da tela, um painel para exibir esse arquivo.
O problema é que, mesmo inserindo o componente e chamando revalidate, validate, pack, repaint, paintImmediatly, o troço não aparece de jeito nenhum!!!
Aí estão os fragmentos de código interessantes para o problema:
No construtor:
Para mostrar o novo painel:
O novo painel (view) não aparece...no debug é possível verificar que seu tamanho é (0,0), mas, mesmo dando um setSize para uma dimensão qualquer, o painel não aparece... ah é, e já testamos sem SplitPane também....mesma coisa!
socorro!
[]'s
|
Flickr |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 14:48:21
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Hmm.... Olha esse codigo aqui. Eu alterei pra incluir um ScrollPane com um TextArea, e deu certo.... alterei essa parte
Codigo completo
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 14:53:41
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Tentei aqui colocando um novo Layout onde o componente vai ser inserido e ficou a mesma coisa de antes...o novo componente não recebe tamanho nenhum
|
Flickr |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 15:13:12
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
escordeiro wrote:Tentei aqui colocando um novo Layout onde o componente vai ser inserido e ficou a mesma coisa de antes...o novo componente não recebe tamanho nenhum 
Alguma coisa ta errada no seu codigo... Aqui q vc postou nao consegui ter nenhuma ideia do que pode ser.... :S
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 15:15:36
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Imagino que seja problema de layout...a primeira vez que o layout é executado, ainda não tem um componente na parte direita do split pane...ele é adicionado logo depois, mas aí o layout já foi executado.
O problema é que, mesmo colocando um tamanho qualquer pra esse componente na marra, ele não aparece!
|
Flickr |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 15:23:06
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
O tamanho so vai valer se vc estiver usando o layout nulo. O preferredSize é usado quando vc usa o borderlayout e joga em outros cantos, senao o centro. Quando vc joga no centro, ele assumi o tamanho todo do cara.
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 15:39:02
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Verdade, verdade, verdade...
O problema é que o componente que eu queria inserir estava dentro de outro painel, e esse painel não tinha layout definidio, mas mesmo assim eu assumia que era BorderLayout na hora de inserir o componente.
Foi só usar o setLayout e deu tudo certinho
Brigadão
|
Flickr |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2004 15:43:30
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Huahuahaauhau...
Eh que pra mim eh automatico usar o setLayout
E realmente, fora o contentPane, que por default eh o Border, o JPanel vc tem q setar o laytou.... heheheheh
Flw!!!
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
|
|