Ho il seguente problema : quando con questo metodo provo a cancellare le righe della jtable, mi si solleva un 'eccezione. Tale eccezione non è sollevata dal metodo ma dall' edt. Ma non capisco quale sia il problema.
Ecco l'eccezionecodice:public void deleteSelectedRows() { DefaultTableModel m = (DefaultTableModel) jTable2.getModel(); int[] row = jTable2.getSelectedRows(); try { for (int i = 0; i < row.length ; ++i) { if (jTable2.isRowSelected(row[i])) { String pk = jTable2.getValueAt(row[i], 0).toString(); GestoreClienti.DeleteCustomer(pk); m.removeRow(row[i]); for (int j = i + 1; j < row.length; ++j) { row[j] -= 1; } } } }catch (SQLException ex) { JOptionPane.showMessageDialog(null,ex.getMessage(), "Sql Error",JOptionPane.ERROR_MESSAGE); } }
Tale eccezione si ripete o 6 volte consecutivecodice:Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 47 >= 0 at java.util.Vector.elementAt(Vector.java:470) at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:665) at javax.swing.JTable.setValueAt(JTable.java:2740) at javax.swing.JTable.editingStopped(JTable.java:4722) at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141) at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:368) at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:233) at javax.swing.JTable$GenericEditor.stopCellEditing(JTable.java:5477) at javax.swing.JTable.columnMarginChanged(JTable.java:4591) 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:3231) at javax.swing.JTable$5.setSizeAt(JTable.java:3321) at javax.swing.JTable.adjustSizes(JTable.java:3357) at javax.swing.JTable.adjustSizes(JTable.java:3325) at javax.swing.JTable.setWidthsFromPreferredWidths(JTable.java:3239) at javax.swing.JTable.doLayout(JTable.java:3127) 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$2.run(RepaintManager.java:679) at javax.swing.RepaintManager$2.run(RepaintManager.java:677) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:676) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1650) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:697) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Rispondi quotando

