April 05
Prof. Ismael H. F. Santos -  ismael@tecgraf.puc-rio.br                                                          2
TableModel
nO constutor de JTable usado anteriormente constrói um TableModel assim:
nnew AbstractTableModel() {
n  public String getColumnName(int col) {  return columnNames[col].toString(); }
n  public int getRowCount() { return rowData.length; }
n  public int getColumnCount() { return columnNames.length; }
n  public Object getValueAt(int row, int col) {  return rowData[row][col]; }
n  public boolean isCellEditable(int row, int col){ return true; }
n  public void setValueAt(Object v, int row, int col) { rowData[row][col]=v; fireTableCellUpdated(row, col); }
n}
nCriando a customTableModel
npublic TableDemo() { ... JTable table = new JTable(new MyTableModel()); ... }
nclass MyTableModel extends AbstractTableModel {
n  private String[] columnNames = ...//same as before...
n  private Object[][] data = ...//same as before...
nDemo JavaWebStart
TableDemo