In pratica crei una tua classe che implementa TableModel o che estenda AbstractTableModel :
codice:
import java.util.*;
import javax.swing.table.*;

public class CalendarioTableModel extends AbstractTableModel{
private Vector row,col;
public CalendarioTableModel(Vector row,Vector col){
  this.row=row;
  this.col=col;
}
  public String getColumnName(int c)
    {
       return (String)col.get(c);
    }

    public Class getColumnClass(int c)
    {
      return ((Vector)row.get(0)).get(c).getClass();
    }

    public int getColumnCount()
    {
       return col.size();
    }

    public int getRowCount()
    {
       return row.size();
    }

    public Object getValueAt(int r, int c)
    {
       return (String)((Vector)row.get(r)).get(c);
    }

    public void setValueAt(Object obj, int r, int c)
    {
       ((Vector)row.get(r)).setElementAt(obj,c);
    }

    public boolean isCellEditable(int r, int c)
    {
       return false;
   }
}
Una cosa del genere