I have an error when I run my code, can you help me to solve the problem?
When I write 1 in kindnummer JTextField, that works but when I change the value to 2 or 3 , I show the Error:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 2
My TableModel Class: 
public class listtable extends AbstractTableModel{
       BusinessDelegate bd= new BusinessDelegate();
       JTextField t= new JTextField();
        private final String[] entetes = { "Name", "Vorname", "Geburtsdatum", "Geschlecht" };
       String rr=t.getText();
        private    List<Kiwikinder> cc =  bd.getRemoteEjb().getKiwidinderbyNummerFindbyId(1);
    public listtable(List<Kiwikinder> cc) {
              this.cc = new ArrayList<>(cc);
          }
      public Class getColumnClass(int c) {
          return getValueAt(0, c).getClass();
      } 
    @Override
    public int getColumnCount() {
        // TODO Implement this method
        return entetes.length;
    }
    @Override
    public String getColumnName(int columnIndex) {
        // TODO Implement this method
        return entetes [columnIndex];
    }
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        Kiwikinder kk= cc.get(rowIndex);
        Object value = null;
        switch(columnIndex) {
        case 0:
            value= kk.getName();
            break;
        case 1:
        value=kk.getVorname();
        break;
        case 2:
        value= kk.getGeburtsdatum();
        break;
        case 3:
            value= kk.getGeschlecht();
            break;
        }
              return  value;
          }
    @Override
    public boolean isCellEditable(int i, int i2) {
        // TODO Implement this method
        return true;
    }
    @Override
    public void setValueAt(Object object, int i, int i2) {
       Kiwikinder hh=cc.get(i);
            if (i2==0)
           hh.setName((String)object);
            else             if (i2==1)
           hh.setVorname((String)object);
            else    if (i2==2)
                hh.setGeburtsdatum((Date)object);
                if (i2==3)
                hh.setGeschlecht((String)object);
            fireTableCellUpdated(i,i2);
    }
    @Override
    public int getRowCount() {
         return cc.size();
    }
    public void updateRow(int index,String[] values)
            {
                for (int i = 0 ; i < values.length ; i++)
                {
                    setValueAt(values[i],index,i);
                }
            }
}
And my 2nd Class:
public class tabbedPane extends JFrame implements ActionListener {
    BusinessDelegate businessDelegate = new BusinessDelegate();
    private JTabbedPane tabbedPane;
    private JPanel panel1, panel2, panel3; 
    private JButton kindsuchen;
    private JTextField   kindernummer;
    Kiwiantraagsteller ant = new Kiwiantraagsteller();
    InputVerifier verifier = new Verifier();
    private listtable model;
   private JTable table;     
    public tabbedPane() {
        setTitle("Kindergeld");
        setSize(700, 800);
        setBackground(Color.gray);   
        kindsuchen = new JButton("suchen");         
       JPanel topPanel = new JPanel();
        topPanel.setLayout(new BorderLayout());
        getContentPane().add(topPanel);
        // Create the tab pages
        createPage1();
        createPage2();
        createPage3();
        // Create a tabbed pane
        tabbedPane = new JTabbedPane();
        tabbedPane.addTab("Neuer Antragsteller stellen", panel1);
        tabbedPane.addTab("Neues Kind stellen ", panel2);
        tabbedPane.addTab("Suchen Kindergeldfall", panel3);
        topPanel.add(tabbedPane, BorderLayout.CENTER);
    }
    public void createPage1() {
         panel1 = new JPanel()
        panel1.setLayout(null);
    }
    public void createPage2() {
         panel2 = new JPanel();
        panel2.setLayout(null);
    }
    public void createPage3() {
        kindernummer = new JTextField();
        panel3 = new JPanel();
        panel3.setLayout(null);
        JLabel label12 = new JLabel("Kindergeldnummer:");
        label12.setBounds(10, 20, 150, 20);
        panel3.add(label12);
    table= new JTable();
        kindernummer.setBounds(150, 20, 200, 20);
        kindsuchen.addActionListener(this);
        panel3.add(kindernummer);
        kindsuchen.setBounds(350, 40, 90, 25);
        panel3.add(kindsuchen);
    }
    @Override
    public void actionPerformed(ActionEvent actionEvent) {
        BusinessDelegate businessDelegate = new BusinessDelegate();      
        if (actionEvent.getSource() == kindsuchen) {
            String tr = kindernummer.getText();
         Integer  g = Integer.valueOf(tr);
           List <Kiwikinder> cc = businessDelegate.getRemoteEjb().getKiwidinderbyNummerFindbyId(g);
         model = new listtable(cc);               table = new JTable(model);
           table.setModel(model);
            table.setBounds(10, 50, 200, 20);
            JScrollPane tableContainer = new JScrollPane(table);
            tableContainer.setBounds(10, 80, 600, 150);
            panel3.add(tableContainer, BorderLayout.CENTER);
           table.setAutoCreateRowSorter(true);
          }
        table.getModel().addTableModelListener(new TableModelListener() {
                    @Override
                    public void tableChanged(TableModelEvent e) {
                    }
               });    
        }
    public static void main(String args[]) {
        // Create an instance of the test application
        tabbedPane bb = new tabbedPane();
        bb.setVisible(true);
    }
}
 
     
    