Add this method to your DateModel class:
@Override
public Class<?> getColumnClass(int columnIndex) {
return Date.class;
}
This method helps JTable to recognize what type of data you give to it and associate data with correspond renderer. JavaDoc says:
Returns the most specific superclass for all the cell values in the column. This is used by the JTable to set up a default renderer and editor for the column.