JDialog não pinta componentes  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline


Olá!

Criei um JDialog personalizado para meu sistema.
O problema está na hora de mostra-lo.

Se eu colocar um botão em uma tela e chama-lo diretamente funciona e mostra tudo certinho.

Quanto chamo dentro de evento, o JDialog não aparece. Se minimizo a tela e volta, ele aparece, mas sem repintar os componentes.
O mais estranho é que o mesmo acontece se eu utilizar um JOptionPane.

Alguém sabe como resolvo isso?

Obrigado

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline

Pode postar o código do local onde você abre o JDialog?

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Bom dia ViniGodoy

Segue:



Este é o metodo que chamado p mostrar o JDialog:



Esta é a chamada:


Obrigado pela ajuda!

This message was edited 1 time. Last update was at 24/05/2010 09:49:55


"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

ViniGodoy

Será que voce poderia me dar uma força com isso cara? Já li um post no seu blog sobre este assunto mas ainda não consegui resolver.
Mesmo utilizando o EventQueue.invokeLater ou o invokeAndWait não dá certo!

Obrigado.

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline

Cara, seu código está meio confunso, eu realmente não pude identificar o problema. Esse comportamento não é normal.

E coisas assim acontecem geralmente quando uma exception é disparada ou quando algo trava o processamento da thread do Swing.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Olá ViniGodoy

Obrigado pelo retorno.

Pelo que percebi, o JDIalog não pinta corretamente quando está dentro de algum Evento do Form.
Por exemplo, no meu internalform roda uma Evento chamado beforeSalveEvent que é disparado quando o usuario clica no botão salvar que está em um JFrame que contém este internalform. Se eu chamar o JDialog em qualquer outro lugar, ele é mostrado corretamente. O problema está só em chamá-lo dentro de algum Evento.
Não tenho certeza, mas talvez haja algum problema com a classe interna q passo no evento.




Bom, vou continuar procurando aqui!

Mais uma vez, obrigado!

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

Olá!

Enfim consegui resolver o problema.

Vou tentar descrevê-lo:
A chamada ao meu método estava sendo feita em outra Thread.
Acontece que eu chamo uma Thread para enviar os dados ao banco e não travar caso o usuário precise abrir outra tela. O JDialog estava sendo chamado em um evento dentro desta Thread. Troquei a chamada para fora da Thread e funcionou.

abraço!

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team