JTable Result mit Checkbox

Shooter2k

Erfahrenes Mitglied
Hallo liebes Forum,
ich habe ein Problem mit JTable. Und zwar möchte ich gerne unbedingt eine weitere Spalte "Auswahl" als Checkbox ausgeben. Ich habe schon danach gegoogelt aber leider nur die hälfte davon verstanden :)

Mein bisheriger Code sieht so aus:
Code:
  public DefaultTableModel getMediUebersicht(int userID)
   {
     
    dataModel = new DefaultTableModel();
    setModel(dataModel);
     
     
     try {
       String sql = "SELECT m.medi_name as Name, m.wirkstoff as Wirkstoff, m.mg, m.inhalt, d.morgens, d.mittags, d.abends, d.nachts FROM medis m INNER JOIN dosierung d ON (m.id=d.medi_id) WHERE m.user_id = ? ORDER BY m.id DESC";
       PreparedStatement preparedStmt = con.prepareStatement(sql);

       preparedStmt.setInt(1, userID);

       ResultSet rs = preparedStmt.executeQuery();
       
       ResultSetMetaData resMeta = rs.getMetaData();
       
       int colCount = resMeta.getColumnCount();
      String[] colNames = new String[colCount+1];
       
      /*
      for (int i = 1; i <= colCount; i++) {
      colNames[i - 1] = resMeta.getColumnName(i);
      }
      */
      colNames[0] = "Name";
      colNames[1] = "Wirkstoff";
      colNames[2] = "Tablette";
      colNames[3] = "Stückzahl";
      colNames[4] = "Morgens";
      colNames[5] = "Mittags";
      colNames[6] = "Abends";
      colNames[7] = "Nachts";
       
      // Checkbox
      colNames[8] = "Auswahl";
       
      ((DefaultTableModel) dataModel).setColumnIdentifiers(colNames);

      while (rs.next()) {
      String[] rowData = new String[colCount];
       
      for (int i = 1; i <= colCount; i++) {
      rowData[i - 1] = rs.getString(i);
      }

      ((DefaultTableModel) dataModel).addRow(rowData);
      }
       
       
       
      return (DefaultTableModel) dataModel;

     
     } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
     }
     
     
     return null;
   
   }


Hier werden die Rows geschrieben und ich glaube auch direkt dort müsste man das Script erweitern, weis aber leider nicht genau wie ich das anstellen soll, da ich absoluter Anfänger bin.

Code:
      while (rs.next()) {
      String[] rowData = new String[colCount];
       
      for (int i = 1; i <= colCount; i++) {
      rowData[i - 1] = rs.getString(i);
      }

      ((DefaultTableModel) dataModel).addRow(rowData);
      }


Ich hoffe es kann mir jemand dabei helfen. Vielen Dank im Voraus.

Gruß
Shooter
 

Neue Beiträge

Zurück