Ho risolto il mio problema con questo codice... ma ora me ne si presenta un altro... come facio a inserire un bottone all'interno di una cella?

codice:
import javax.swing.table.*;
import javax.swing.*;

public class ServiziJTable extends JTable{
  public ServiziJTable(){

    TableModel model = new AbstractTableModel(){
      private String[] columnNames = getColumnNames();
      private Object[][] data = getTableData();

      public int getColumnCount() {
        return columnNames.length;
      }

      public int getRowCount() {
        return data.length;
      }

      public String getColumnName(int col) {
        return columnNames[col];
      }

      public Object getValueAt(int row, int col) {
        return data[row][col];
      }

      public Class getColumnClass(int c) {
        return getValueAt(0, c).getClass();
      }
    };

    this.setModel(model);

    this.getColumnModel().getColumn(0).setMaxWidth(70);
    this.getColumnModel().getColumn(1).sizeWidthToFit();
    this.getColumnModel().getColumn(2).setPreferredWidth(200);
    this.getColumnModel().getColumn(3).setPreferredWidth(200);
    this.getColumnModel().getColumn(4).setMaxWidth(50);
    this.getColumnModel().getColumn(5).setMaxWidth(70);
    this.getColumnModel().getColumn(6).setMaxWidth(40);
    //this.getColumnModel().getColumn(7).setMaxWidth(40);
  }

  private String[] getColumnNames(){
    String[] columnNames = {"Data","Cliente","Partenza","Arrivo","Colli","Importo","Iva","Note"};
    return columnNames;
  }

  private Object[][] getTableData(){
    Object[][] data = {{"1/12/2005", "Cliente1","partenza (Nicola)","arrivo (Marco)","2","15.23€","[1]",new JButton("Vedi")},{"1/12/2005", "Cliente2","partenza (Riccardo)","arrivo (Marco)","2","10.00€","[1]",null}};
    return data;
  }
}