package net.trevize.galatee; import java.util.Vector; import javax.swing.table.DefaultTableModel; /** * * * @author Nicolas James <nicolas.james@gmail.com> [[http://njames.trevize.net]] * _TableModel.java - May 17, 2009 */ public class _TableModel extends DefaultTableModel { @Override public boolean isCellEditable(int r, int c) { return true; } // the management 'line by line' of the DefaultTableModel complicate a little the process public void setColumn(int c, Vector<GItem> v) { Vector<Vector<GItem>> data = (Vector<Vector<GItem>>) getDataVector(); int nbr = data.size(); int i = 0; while (i < nbr && i < v.size()) { ((Vector<GItem>) data.get(i)).set(c, v.get(i)); ++i; } if (nbr < v.size()) { while (i < v.size()) { Vector<GItem> r = new Vector<GItem>(); for (int j = 0; j < getColumnCount(); ++j) { r.add(null); } r.set(c, v.get(i)); data.add(r); ++i; } } fireTableDataChanged(); } }