Putz… naum sei se te ajuda colega, mas se você implementar uma classe que extenda AbstractTableModel, você resolve o seu problema.
Esse método é importante, pois é ele que identifica qual o tipo de objeto na célula, para melhor ajustá-lo:
public Class getColumnClass(int c);
Exemplo:
classMyTableModelextendsAbstractTableModel{privateString[]columnNames=...//same as before...privateObject[][]data=...//same as before...publicintgetColumnCount(){returncolumnNames.length;}publicintgetRowCount(){returndata.length;}publicStringgetColumnName(intcol){returncolumnNames[col];}publicObjectgetValueAt(introw,intcol){returndata[row][col];}publicClassgetColumnClass(intc){returngetValueAt(0,c).getClass();}/* * Don't need to implement this method unless your table's * editable. */publicbooleanisCellEditable(introw,intcol){//Note that the data/cell address is constant,//no matter where the cell appears onscreen.if(col<2){returnfalse;}else{returntrue;}}/* * Don't need to implement this method unless your table's * data can change. */publicvoidsetValueAt(Objectvalue,introw,intcol){data[row][col]=value;fireTableCellUpdated(row,col);}...}
Você pode encontrar aqui mais informações (inclusive o contexto desse exemplo).
Dê uma olhada na tal Classe… e tente implementá-la.
Se não cconseguir, tento montar um exemplo pra te ajudar!
[]'s
rissato
na array de objetos que vao compor as linhas do JTable, vc coloca um elemento ‘new Bollean(false)’. Isso vai colocar automaticamente a JCheckBox (desmarcada) na tabela. Também é preciso implementar o método getColumnClass() do TableModel