Inserindo painel em janela já aberta  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
escordeiro
Java Ninja
[Avatar]
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
[Email] [Yahoo!] [MSN] [ICQ]
brlima
Moderador
[Avatar]

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
[MSN]
escordeiro
Java Ninja
[Avatar]
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
[Email] [Yahoo!] [MSN] [ICQ]
brlima
Moderador
[Avatar]

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
[MSN]
escordeiro
Java Ninja
[Avatar]
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
[Email] [Yahoo!] [MSN] [ICQ]
brlima
Moderador
[Avatar]

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
[MSN]
escordeiro
Java Ninja
[Avatar]
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
[Email] [Yahoo!] [MSN] [ICQ]
brlima
Moderador
[Avatar]

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
[MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team