Perchè complicarsi la vita in questo modo? JCheckBox è già un editor di default nelle JTable per i valori di tipo Boolean.
E' sufficiente che il tuo TableModel indichi che per quella determinata colonna, il valore è di tipo Boolean e si arrangia la JTable a gestirlo correttamente (poi, se vi sono personalizzazioni è un altro paio di maniche).

Ad ogni modo, tutto ciò che va messo a punto è il TableModel, in particolare questi quattro metodi:

codice:
public boolean isCellEditable(int row, int col);
public Class getColumnClass(int col);
public void setValueAt(Object value, int row, int col);
public Object getValueAt(int row, int col);
Il primo va implementato in modo che ritorni "true" per la colonna che visualizzerà la JCheckBox (in questo modo diciamo alla JTable che quella colonna è modificabile dall'utente).

Il secondo va implementato in modo che ritorni Boolean.class per la colonna che visualizzerà la JCheckBox (in questo modo la JTable caricherà automaticamente l'editor ed il renderer corretto, ovvero una JCheckBox).

Il terzo va implementato in modo da memorizzare il valore value (che sarà un Boolean, basta fare un cast) per la proprietà che indica se la particolare riga è selezionata o meno e successivamente invocare

fireTableRowsUpdated(row, row);

Il quarto dovrà restituire il booleano che indica se la riga è selezionata o meno (un Boolean.TRUE o Boolean.FALSE).

Non serve creare né un CellEditor, né un Renderer per questo tipo di proprietà che vengono gestite automaticamente dalla JTable.


Ciao.