[RESOLVIDO] AWT-EventQueue-0 - Nao consigo achar quem dispara a Exception

Olá guj,

Ocorre o seguinte: tenho um objeto que fica verificando se tem um registro na tabela pra processar… qdo ele processa, notifica seu Observer, e o observer da um refresh na jtable… acontece q, uma vez ou outra, aletoriamente, 1 vez a cada 20 refreshs aproximadamente, ele dispara essa exception… o probema é que, como vcs podem ver, o StackTrace nao mostra que objeto da minha aplicação gerou a exception…

alguem tem ideia do q pode ser?

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6 >= 0
	at java.util.Vector.elementAt(Unknown Source)
	at javax.swing.table.DefaultTableModel.getValueAt(Unknown Source)
	at javax.swing.JTable.getValueAt(Unknown Source)
	at javax.swing.JTable.prepareRenderer(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
	at javax.swing.plaf.ComponentUI.update(Unknown Source)
	at javax.swing.JComponent.paintComponent(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JViewport.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
	at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

O erro você já sabe

java.lang.ArrayIndexOutOfBoundsException

Vá lendo a stracktrace de baixo para cima e vá vendo onde isso pode ocorrer.

Até!

Vc está estourando o limite do Array:

java.lang.ArrayIndexOutOfBoundsException

foi por isso que eu postei amigo…

pq eu nao consegui identificar onde possa ser…

agradeço qqer dica…

desculpem se nao fui claro, mas o que nao entendo é exatamente isso… pq esta estourando o limite do array…

PS.: so relembrando - o erro nao da de primeira… acontece aleatoriamente, bem raramente… dai a dificuldade de achar…

Qndo vc dá um repaint() no JTable ele atualiza corretamente?
Talvez vc está tentando acessar uma linha cuja linha não existe mais …

Existe alguma outra thread modificando essa tabela?

Se tiver, você faz suas modificações chamando EventQueue.invokeLater() ou usando SwingWorker?

Clássico erro de EDT.

Você esta atualizando algum componente gráfico fora do EDT. Atualize usando o SwingUtilities.invokeLater()

Esses errinhos geralmente acontecem quando estamos atualizando models… de uma olhada

1 curtida

opa… blz galera vlw mesmo…

:wink: