Message Box em outra Thread

4 respostas
smota

Ola Pessoal,

Estou com um probleminha … na minha thread principal fica a interface com o usuário, ao clicar em um botao eu crio uma nova thread (com uma classe runnable) e pronto … quando esta tudo certo ele roda sem problemas (na thread criada um pesado loop, na GUI ficam os controles respondendo normalmente aos eventos)

Mas quando detecto um erro no processamento eu preciso mostrar uma MessageBox (JPanel.showMessageBox(parent, message)) … ao chamar essa MessageBox a tela aparece, porem sem botao algum nem a mensagem (acho que ele nao termina de montar a tela) e ai meu programa trava pois nao consigo clicar em nenhum botao nem usar a tela debaixo (o o que eh esperado no caso).

Alguma ideia?

Obrigado

4 Respostas

oliveirarenan

Caro amigo smota.

Bem, por que vc nao tenta fazer uma gambiarra??
Logo após mostrar o messabox, pq vc nao chama a aplicação novamente??

sei lá…
foi uma ideia…

t+

dukejeffrie

Pois eh, provavelmente alguma coisa está travando a AWTDispatcher Thread.

Nunca ouvi falar de MessageBox. Normalmente, mensagens são mostradas através dos métodos JOptionPane.showXXXDialog.

O tutorial de Swing que fala isso está aqui:
http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html

[]s

richardpeder

amigo smota, vc esta usando swing nao eh mesmo??
Nunca ouvi falar em JPanel.showMessageBox(parent, message)) …vc esta usando que estruta de interface grafica??

Valeu

ate mais…

mlopes

Ola,

SwingUtilities.invokeLater(new Runnable() {
					public void run()
					{
						JOptionPane.showXXXDialog(...);
					}
				});

[]'s

Criado 20 de março de 2003
Ultima resposta 21 de mar. de 2003
Respostas 4
Participantes 5