Salve ragazzi ho inserito in una colonna di una jtable dei chek box , non l'avevo mai fatto ho letto un po' di post precedenti , e ho creato un mio DefaultTableModel facendo l'overriding dei metodi getColumnClass e isCellEditable:

codice:
public class Mymodel extends DefaultTableModel{
    
    public Mymodel(){
        DefaultTableModel model = new DefaultTableModel(0, 0);
    }
    
    @Override
 public Class getColumnClass(int column)      
{      
return getValueAt(0, column).getClass();      
}      
    
   
  @Override
   public boolean isCellEditable(int row,int col){
   if(col == 0){
      return true;
    }
   else{
      return false;
   } 
   
   
   
  }
Poi creato un mio TableCellRenderer per la cella di tipo chek :

codice:
class MyCellRenderer implements TableCellRenderer {

      @Override
public Component getTableCellRendererComponent(JTable table,      
Object value,      
boolean isSelected,      
boolean hasFocus,      
int row,      
int column){      
  
Component com = (Component)value;      
return com; 

    }
    
}
Il risultato a video quando eseguo l'applicazione è quello che volevo , ma cliccando sul chek in jtable non esce il simbolo di spunta .

esempio codice utilizzo della tabella :

codice:
    Class.forName("com.mysql.jdbc.Driver");
            
            Connection con = DriverManager.getConnection(Global.connectionUrl);
            Statement st;
            String query;
            ResultSet rs;
                       
            st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
	    query="SELECT descrizione FROM desc_preventivi ";
            rs = st.executeQuery(query); 
            rs.first();
            
            Mymodel model = new Mymodel();
            table.setModel(model);
            table.setDefaultRenderer(Component.class, new MyCellRenderer());  
            model.addColumn("Check");
            model.addColumn("Descrizione");

            while(!rs.wasNull()){
                Object [] d = { 
               new javax.swing.JCheckBox(),rs.getString("descrizione")};
            rs.next();
            model.addRow(d);
            table.setShowVerticalLines(true);
            }
            
           rs.close();
           st.close();           
         } catch (SQLException e) {
            System.out.println("SQL Exception: "+ e.toString());
         } catch (ClassNotFoundException cE) {
            System.out.println("Class Not Found Exception: "+ cE.toString());
         }
cosa devo aggiungere al mio codice cosa sbaglio?