NullPointerException em JTable.ColumnMarginChanged

Olá,

Estou com um problema super irritante em meu programa.

Tenho um TableCellRenderer, e um TableCellEditor.

Quando eu insiro um valor na coluna ele gera a exceção

Expcetion in Thread “AWT-EventQueue-0” " java.lang.NullPointerException at javax.swing.JTable.ColumnMarginChanged at javax.swing.JTable.DefaultTableColumnModel.fireColumnPropertyChange
at java.beans.PropertyChangeSupport.firePropertyChange
at java.swing.Event.SwingPropertyChangeSupport.firePropertyChange
at javax.swing.table.TableColumn.firePropertyChange
at javax.swing.table.TableColumn.firePropertyChange
at javax.swing.table.TableColumn.setWidth
at javax.swing.JTable$2.setSizeAt

E continua uma pilha enorme de erros que eu prefiro colocar a PRINT

http://uploaddeimagens.com.br/imagens/pilajtableerro-png

Porém essa não é a parte mais legal, o problema é que isso só acontece quando está rodando no JAR, pois no netbeans o programa funciona perefitamente.

Por favor me ajudem me da alguma luz qualquer coisa, o programa ja está em produção e este erro está infernizando minha vida!

Ja procurei em tudo que é lugar algo sobre isso mas não encontrie nada

Obrigado.

Eu alterei a compilação do programa para Java 1.7 e o problema passou a ocorrer no Netbeans: está é a pila de errros completa

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.swing.JTable.columnMarginChanged(JTable.java:4596) at javax.swing.table.DefaultTableColumnModel.fireColumnMarginChanged(DefaultTableColumnModel.java:627) at javax.swing.table.DefaultTableColumnModel.propertyChange(DefaultTableColumnModel.java:691) at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327) at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(SwingPropertyChangeSupport.java:92) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263) at javax.swing.table.TableColumn.firePropertyChange(TableColumn.java:278) at javax.swing.table.TableColumn.firePropertyChange(TableColumn.java:284) at javax.swing.table.TableColumn.setWidth(TableColumn.java:514) at javax.swing.JTable$2.setSizeAt(JTable.java:3235) at javax.swing.JTable$5.setSizeAt(JTable.java:3325) at javax.swing.JTable.adjustSizes(JTable.java:3361) at javax.swing.JTable.adjustSizes(JTable.java:3329) at javax.swing.JTable.setWidthsFromPreferredWidths(JTable.java:3243) at javax.swing.JTable.doLayout(JTable.java:3131) at java.awt.Container.validateTree(Container.java:1688) at java.awt.Container.validateTree(Container.java:1697) at java.awt.Container.validateTree(Container.java:1697) at java.awt.Container.validate(Container.java:1623) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:653) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1620) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705) at java.awt.EventQueue.access$000(EventQueue.java:101) at java.awt.EventQueue$3.run(EventQueue.java:666) at java.awt.EventQueue$3.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:675) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219) at java.awt.Dialog.show(Dialog.java:1072) at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:871) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:668) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:639) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:610) at GUI.GerenciadorImpostos$MyTableCellEditor.stopCellEditing(GerenciadorImpostos.java:1195) at javax.swing.JTable.columnMarginChanged(JTable.java:4595) at javax.swing.table.DefaultTableColumnModel.fireColumnMarginChanged(DefaultTableColumnModel.java:627) at javax.swing.table.DefaultTableColumnModel.propertyChange(DefaultTableColumnModel.java:691) at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327) at javax.swing.event.SwingPropertyChangeSupport.firePropertyChange(SwingPropertyChangeSupport.java:92) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263) at javax.swing.table.TableColumn.firePropertyChange(TableColumn.java:278) at javax.swing.table.TableColumn.firePropertyChange(TableColumn.java:284) at javax.swing.table.TableColumn.setPreferredWidth(TableColumn.java:548) at GUI.GerenciadorImpostos.modeloOutros(GerenciadorImpostos.java:1593) at GUI.GerenciadorImpostos.TipoComboBoxActionPerformed(GerenciadorImpostos.java:540) at GUI.GerenciadorImpostos.botaoGerarActionPerformed(GerenciadorImpostos.java:522) at GUI.GerenciadorImpostos.access$100(GerenciadorImpostos.java:40) at GUI.GerenciadorImpostos$MyTableCellEditor.stopCellEditing(GerenciadorImpostos.java:1208) at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:502) at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1661) at javax.swing.JComponent.processKeyBinding(JComponent.java:2879) at javax.swing.JTable.processKeyBinding(JTable.java:5262) at javax.swing.JComponent.processKeyBindings(JComponent.java:2940) at javax.swing.JComponent.processKeyEvent(JComponent.java:2842) at java.awt.Component.processEvent(Component.java:6282) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1890) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:752) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1017) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:717) at java.awt.Component.dispatchEventImpl(Component.java:4731) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access$000(EventQueue.java:101) at java.awt.EventQueue$3.run(EventQueue.java:666) at java.awt.EventQueue$3.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:680) at java.awt.EventQueue$4.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

E eu descobri uma coisa, quando da esse erro é no StopCellEditing(), ele gera 15 janelas de JOptionPane dizendo que o valor digitado é inválido (meu tratamento de erro) ( mesmo o valor digitado sendo válido ), sendo que essa janela de JOptionPane deveria aparecer só uma vez.

Eu simplesmente comento a linha do JOptionPane e o programa passa a funcionar.

Isso ta ridiculamente estranho.