Cosa intendi con "la jtable tratta la data come stringa"?
E' un problema di dato contenuto nella tabella (nel senso che quando prendi il valore con getValueAt ottieni un oggetto String e non un oggetto Date), o solo di come la data viene formattata nella tabella?
Nel primo caso basta capire se e dove stai facendo una conversione sbagliata, ma passare da String a Date e viceversa è molto semplice, basta sapere il formato.
Nel secondo caso ti serve un semplice TableCellRenderer per formattare la data nella JTable come preferisci, ad esempio (preso da
https://stackoverflow.com/questions/2412007/format-date-in-jtable-resultset):
TableCellRenderer tableCellRenderer = new DefaultTableCellRenderer () {
SimpleDateFormat formatter = new SimpleDateFormat ("MM/dd/yy");
@Override public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (value instanceof Date) value = formatter.format (value);
return super.getTableCellRendererComponent (table, value, isSelected, hasFocus, row, column);
}
};
table.getColumnModel ().getColumn (indiceColonnaData).setCellRenderer (tableCellRenderer);