Invalid thread access

4 respostas
spranta

Pessoal estou fazendo uma aplicação que é uma especia de monitor. Deixa eu explicar melhor, é o seguinte, este monitor seria uma tela somente com uma Table onde a cada 10 segundos eu vou ao banco e busco informações novas recem jogadas lá no bd e assim eu pego estes dados e jogo na Table.
Para agendar este acesso ao banco a cada dez segundos eu estou utilizando um objeto TimerTask, onde eu implemento o acesso dentro do run já que é uma thread, até aqui tudo bem, no entanto, ao buscar as informações do banco e jogar na table é lançada a seguinte exceção:

org.eclipse.swt.SWTException: Invalid thread access
	at org.eclipse.swt.SWT.error(SWT.java:2330)
	at org.eclipse.swt.SWT.error(SWT.java:2260)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:385)
	at org.eclipse.swt.widgets.Widget.checkParent(Widget.java:255)
	at org.eclipse.swt.widgets.Widget.<init>(Widget.java:144)
	at org.eclipse.swt.widgets.Item.<init>(Item.java:61)
	at org.eclipse.swt.widgets.TableItem.<init>(TableItem.java:67)	
	at java.util.TimerThread.mainLoop(Unknown Source)
	at java.util.TimerThread.run(Unknown Source)

A linha onde acontece a exceção tem o seguinte:

Espero que isto baste para alguem me ajudar a como solucionar este problema, pois já quebrei a cabeça e não consigo sair deste buraco. Lembrando que eu estou utilizando SWT

4 Respostas

cv1

Eu nao tenho os detalhes, mas vc vai querer dar uma lida sobre Threading com SWT. Tem um monte de pegadinhas - executar eventos fora da thread principal eh um deles. :wink:

ricardolecheta

http://dev.eclipse.org/viewcvs/index.cgi/platform-swt-home/faq.html?rev=HEAD#uithread

alias, qual será o motivo disso? é um saco :slight_smile:

cv1

Pode ateh ser um saco, mas evita um mooooooonte de bugs de concorrencia que podem ser chatissimos de testar. :slight_smile:

S

Estou com o mesmo problema quando tento acessar um metodo de uma classe fora dela acontece este erro, alguem tem uma dica de como resolver isso? pois preciso passar parametros e tal entre estas classes, Obrigado!!!

Criado 15 de janeiro de 2005
Ultima resposta 16 de jul. de 2009
Respostas 4
Participantes 4