Duvida JTable + ArrayList

Olá,
Tenho o seguinte JTable

[code]public class SimpleTableModel extends AbstractTableModel{

private static final long serialVersionUID = 1L;
private ArrayList<Paciente> pacientes;
private String[] columns = new String[]{"Nome","Cidade","Última Consulta"};
private DateFormat data;


public SimpleTableModel(ArrayList<Paciente> pacientes){
	this.pacientes = pacientes;
}

public int getRowCount(){
	return this.pacientes.size();
}
public int getColumnCount(){
	return 3;
}

public Object getValueAt(int row, int column){
	Paciente p = this.pacientes.get(row);
	int x = p.getConsultas().size();  
	data = DateFormat.getDateInstance();
	switch(column){
	case 0: return p.getNome();
	case 1: return p.getCidade();
	case 2: if (x==0)
		return "";
	else
		return data.format(p.getConsultas().get(x-1).getDataConsulta());

	}
	return null;
}
public String getColumnName(int index){
	return columns[index];
}

} [/code]
e quero de implementar os métodos setValueAt(),addRow e removeRow() como no artigo daqui do guj, mas não estou conseguindo sozinho, gostaria da ajuda de voces, num precisa implementar preciso pelo menos de uma luz

Obrigado

Vai ficar mais ou menos assim (esse exemplo permite edição das colunas 0 e 1 apenas):

public void setValueAt(Object aValue, int row, int column) { Paciente p = this.pacientes.get(row); switch (column) { case 0: p.setNome((String)aValue); //Nesse específico caso poderia fazer aValue.toString(); break; case 1: p.setCidade((String)aValue); break; } }

Não se esqueça de sobrescrever também o método isCellEditable para indicar quais colunas serão editáveis:

public boolean isCellEditable(int row, int column) {
    return column == 0 || column == 1;
}

Uma boa idéia é criar as seguintes constantes e substituir em todos os lugares que os respectivos índices são usados no seu TableModel:

public static final int COL_NOME = 0; public static final int COL_CIDADE = 1; public static final int COL_ULTIMA_CONSULTA = 2;

vlw vinicius, vou tentar aqui

outra pergunta, o método isCellEditable permite que o usuario possa mudar o valor na tabela?

Javadoc Wrote:
Returns true if the cell at rowIndex and columnIndex is editable. Otherwise, setValueAt on the cell will not change the value of that cell.

Teste o exemplo do ViniGodoy, que ele fala por si.No isCellEditable vc DIZ que as colunas SÃO editáveis ou não.No setValueAt, vc executa a mudança.

Como faço para, ao alterar completamente o arraylist que eu passo para a tabela, ela possa se “atualizar” ?