JTable gibt -1 wert bei selectedRow & column

Mauro_Lupo

Grünschnabel
Guten Morgen Leute,

meine JTable gibt mir leider als Werte für selectedRow und Column -1 werte, egal welche zelle ich verwende.

Hier meine DB abfrage:
Java:
public static Vector[] getTableBearbeiten(){
       try{
           Connection con= DBConnect.getConnection();
           PreparedStatement st;
           st = con.prepareStatement("SELECT telefonzentrale2.*, terminvergabe2.Rueckruf1, terminvergabe2.Rueckruf2, "
                   + "terminvergabe2.Rueckruf3, terminvergabe2.Rueckruf4, terminvergabe2.Rueckruf5, terminvergabe2.Status"
                   + " FROM telefonzentrale2 LEFT JOIN terminvergabe2 ON telefonzentrale2.ID = terminvergabe2.TerminID"
                   + " WHERE terminvergabe2.Status = 0;");
           ResultSet rs = st.executeQuery();
           ResultSetMetaData rsmt = (ResultSetMetaData) rs.getMetaData();
           int c = rsmt.getColumnCount();
           Vector column = new Vector();
           for(int i = 1; i <= c; ++i){
               column.add(rsmt.getColumnName(i));
           }
           Vector data = new Vector();
           Vector row = new  Vector();
           while(rs.next()){
               row = new Vector(c);
               for(int i = 1; i <= c; ++i){
                   row.add(rs.getString(i));
               }
               data.add(row);               
           }
           Vector[] tableStuff = new Vector[2];
           tableStuff[0] = data;
           tableStuff[1] = column;
           return tableStuff;
       }catch(Exception e){e.printStackTrace();}
       return null;
   }

Kann es daran liegen, dass ich aus 2 DB Tabellen zusammensetze ?

Hier meine CellDetection:
Java:
table_data.addKeyListener(new KeyListener() {           
           @Override
           public void keyTyped(KeyEvent e) {}           
           @Override
           public void keyReleased(KeyEvent e) {}           
           @Override
           public void keyPressed(KeyEvent e) {
               if(e.getKeyCode() == 10){                   
                   int getselected_row = table_data.getSelectedRow()+1;
                   int getselected_column = table_data.getSelectedColumn()+1;
                   int selected_row = table_data.getSelectedRow();
                   int selected_column = table_data.getSelectedColumn();
                   String name_selectedcolumn = table_data.getColumnName(selected_column);
                   String selected_data = null;
                   String id;
                   System.out.println(table_data.getSelectedRow());
                   System.out.println(table_data.getSelectedColumn());
                   for(int i = 0; i < getselected_row; ++i){
                       for(int k = 0; k < getselected_column; ++k){                           
                           selected_data = (String) table_data.getValueAt(i, k);                           
                       }
                   }                   
                   id = (String) table_data.getValueAt(selected_row, 0);
                   System.out.println(selected_data);
                   System.out.println(name_selectedcolumn);
                   System.out.println(id);
                   System.out.println(selected_column);
                   System.out.println(table_data.getColumnCount());
                   try {
                       DBConnect.insert(selected_data, id, name_selectedcolumn);   
                   } catch (Exception e1) {
                       e1.printStackTrace();
                       JOptionPane.showMessageDialog(null, "Eintragung fehlgeschlagen!");
                   }
               }               
           }
       });

Bedanke mich bereits jetzt schon

Gruß Mauro
 

Neue Beiträge