Le ClassCastException arrive parce que vous essayez de caster la classe Time en tant que String. Il apparaît comme un objet Date car java.sql.Time et java.sql.Date sont tous deux des sous-classes de java.util.Date. Ces sous-classes ne sont que des enveloppes minces (même chose avec juste assez d'informations supplémentaires pour être mappées dans des colonnes SQL). Ainsi, dans une JTable Swing, il est utilisé comme java.util.Date puisque les types java.sql ne sont pour la plupart pas pertinents pour les composants swing.