package test; import java.util.List; import javax.swing.table.AbstractTableModel; import com.google.common.collect.Lists; public class SortableTableModel extends AbstractTableModel { List engines = Lists.newArrayList(); private static String colNames[] = { "Name"}; static final int NAME_COL = 0; public SortableTableModel(){ } public Integer getRowAt(int rowIndex) { return engines.get(rowIndex); } @Override public int getColumnCount() { return colNames.length; } @Override public String getColumnName(int col) { return colNames[col]; } @Override public int getRowCount() { return this.engines.size(); } @Override public Object getValueAt(int rowIndex, int columnIndex) { Integer engine = this.engines.get(rowIndex); switch (columnIndex) { case 0: return engine; } return null; } public List getEngines() { return engines; } public void update(List contents){ engines.clear(); for(int i:contents){ engines.add(i); } } }