Visualizzazione dei risultati da 11 a 14 su 14

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305

    Problema cancellazione righe JTable

    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.
    codice:
     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);
            }
            
        }
    Ecco l'eccezione
    codice:
    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)
    Tale eccezione si ripete o 6 volte consecutive
    Ultima modifica di linux_r; 26-02-2014 a 16:04

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.