使用Java编码时ArrayIndex Out OfBound错误

时间:2018-09-04 07:37:41

标签: java swing indexoutofboundsexception

我的数据库/ Jtable中有六个条目。当我点击JTable时  在文本字段中显示除Date(dob)以外的所有选定数据。它告诉我  错误:

  

java.lang.ArrayIndexOutOfBoundsException:5> = 5

table = new JTable();
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

    @Override
    public void valueChanged(ListSelectionEvent e) {
        // TODO Auto-generated method stub
        //Write your code here 
        tabmod = table.getModel();
        int SelectedRowIndex = table.getSelectedRow();
        txtid.setText(tabmod.getValueAt(SelectedRowIndex, 0).toString());
        txtname.setText(tabmod.getValueAt(SelectedRowIndex, 1).toString());
        txtlname.setText(tabmod.getValueAt(SelectedRowIndex, 2).toString());
        String gender =tabmod.getValueAt(SelectedRowIndex, 3).toString();
        if(gender.equals("male")){
            rdbtnmale.setSelected(true);
        }else{
            rdbtnfemale.setSelected(true);
        }
        String dob = tabmod.getValueAt(SelectedRowIndex, 4).toString();
        txtage.setText(tabmod.getValueAt(SelectedRowIndex, 5).toString());//Here throw an error 5>=5 ArrayIndexOutOfBound
        //This line print the value eg id
        System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
        JOptionPane.showMessageDialog(null, "Click event active");

    }
});
tab_disp_user.setViewportView(table);

1 个答案:

答案 0 :(得分:2)

您的表只有五列,您正试图获取所选行的第六列值。通常,列索引是从0到n-1计数的,​​其中0是第一列索引,n-1是第n列。