The DefaultTableModel supports a setColumnCount() method which effectively will allow you to remove columns from the end of the model only.

If you want to remove columns from the middle of the model, then you will need to:

1. extend the DefaultTableModel and create your own removeColumn(int column) method.
2. This method would need to loop through every row in the Vector and use the Vector.remove(int) method to remove the column for ever row.
3. Finally once this is done you would need to invoke the fireTableStructureChanged() method to tell the table that a column has been removed so the table can be repainted.