For most requirements, it is sufficient (and easiest) to extend DefaultTableModel and override getColumnClass(...). You can find an example of overriding getColumnClass(...) in the tutorial linked from the JTable API. The example code shows a class that extends AbstractTableModel, but unless you have rather complex requirements, you won't need to do that.
There are no new questions, but there may be new answers.
subject: How to implement getColumnClass in interface TableModel