0

When user selects Item and Item Name and click Add button, below scenarios happen:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2 >= 0 at java.util.Vector.elementAt(Vector.java:474) at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:294) at sun.swing.SwingUtilities2.convertColumnIndexToModel(SwingUtilities2.java:1988) at javax.swing.JTable.convertColumnIndexToModel(JTable.java:2582) at javax.swing.JTable.getValueAt(JTable.java:2718) at EmployeeManagement.CadreApprovedDepartment.Depatmentsumerry(CadreApprovedDepartment.java:329) at EmployeeManagement.CadreApprovedDepartment.jButton3ActionPerformed(CadreApprovedDepartment.java:913) at EmployeeManagement.CadreApprovedDepartment.access$500(CadreApprovedDepartment.java:33) at EmployeeManagement.CadreApprovedDepartment$4.actionPerformed(CadreApprovedDepartment.java:451) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

this is my code

public void Depatmentsumerry() {

    try {
        pst = conn.prepareStatement("select * from cadresummary order by department ");

        rs = pst.executeQuery();

        ResultSetMetaData rsm = rs.getMetaData();
        int c;
        c = rsm.getColumnCount();

        DefaultTableModel df = (DefaultTableModel) SummaryCadreDepatmentWise.TotalCadreList.getModel();
        df.setRowCount(0);

        while (rs.next()) {
            Vector v2 = new Vector();

            for (int i = 0; i <= c; i++) {
                v2.add(rs.getString("department"));
                v2.add(rs.getString("designation"));
                v2.add(rs.getString("approved"));
                v2.add(rs.getString("actual"));
                v2.add(rs.getString("vacancies"));
                v2.add(rs.getString("salarycode"));
                v2.add(rs.getString("lastmodifi"));

            }

            df.addRow(v2);

        }
        
        
       int sum = 0;
       
        for (int a = 0; a < TotalCadreList.getRowCount(); a++) {
           
            sum =sum+ Integer.parseInt(TotalCadreList.getValueAt(a,2).toString());

        }

        SummaryCadreDepatmentWise.Appro.setText(Integer.toString(sum));

        int sum1 = 0;
        for (int a =0 ; a < TotalCadreList.getRowCount(); a++) {
            sum1 =sum1+ Integer.parseInt(TotalCadreList.getValueAt((int) a, 3).toString());

        }

        SummaryCadreDepatmentWise.Actual.setText(Integer.toString(sum1));

        int sum2 = 0;
        for (int a = 0; a < TotalCadreList.getRowCount(); a++) {
            sum2 = sum2 + Integer.parseInt(TotalCadreList.getValueAt((int) a, 4).toString());

        }

        SummaryCadreDepatmentWise.Vacan.setText(Integer.toString(sum2));
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
}
krish
  • 1
  • 1
  • Get rid of the for loop inside your while loop. It won't fix the error but is not needed. Your code is already adding each column value to the Vector. The issue is that you don't have any columns in your TableModel. Adding the data to the model does not automatically create a table column. See: https://stackoverflow.com/questions/55627828/how-to-get-a-defaulttablemodel-objects-data-into-a-subclass-of-defaulttablemode/55635012#55635012 for a generic example of how to create a `DefaultTableModel` from a `ResultSet`. – camickr Aug 15 '21 at 15:03
  • i didn't understand – krish Aug 15 '21 at 15:04
  • What don't you understand? Your first task is to display the data in the table. Once that works THEN you worry about your other logic. You can't sum the values in the table if you don't have data in the table. I gave you a link to working code. You just need to change the connection logic to connect to your database. What happened when you tried that code? – camickr Aug 15 '21 at 15:06
  • if you don't mind please change my code and put here because i cant to change so that's why i ask you help please help me – krish Aug 16 '21 at 10:54

0 Answers0