Exemplo de Table Model!

E ae galera beleza?

Alguém tem um código exemplo sobre manipulação de Table Model, com funções de adicionar e remover linhas?

Pois já analisei os tutoriais aqui do Guj, e o do Bruno Lima é ótimo, embora ele criou um método getTabela(), só que não está implementado no tutorial, e ela é crucial para o funcionamento.

Já mandei e-mail para ele, mas não obtive resposta, e to precisando meio urgente.

Se alguém puder colaborar!

Valeu!!!
Fui… 8)

Vou dar um exemplo, mas sem função de adicionar e remover linhas.
Abaixo tenho o TableModelPadrao. Depois tenho o TableModelCliente, que herda do padrão. Tendo já o TableModel construído, basta criar o JTable. Se quiser uma função como essa abaixo, é só passar como parâmetro uma objeto derivado de TableModelPadrao.

private void construirTabela(TableModelPadrao tableModelPadrao) { tabela = new JTable(tableModelPadrao); tabela.setPreferredSize(new Dimension(600,480)); tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); painelTabela = new JScrollPane(tabela); }

[code]import java.util.List;

import javax.swing.table.AbstractTableModel;

public abstract class TableModelPadrao extends AbstractTableModel {

protected String[] colunas;
protected List linhas;	

public TableModelPadrao(List linhas) {
	setColunas(criarColunas());
	this.linhas = linhas; 
}

protected abstract String[] criarColunas();

public int getRowCount() {
	if (linhas != null) {
		return linhas.size();
	} else {
		return 0;
	}
}	

public int getColumnCount() {
	return colunas.length;
}	

public boolean isCellEditable(int row, int col) {
	return false;
}	

public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
}		

public String getColumnName(int col){
	return colunas[col];
}

public String[] getColunas() {
	return colunas;
}

public void setColunas(String[] colunas) {
	this.colunas = colunas;
}

public List getLinhas() {
	return linhas;
}

public void setLinhas(List linhas) {
	this.linhas = linhas;
	fireTableDataChanged();
}

}[/code]

[code]import java.util.List;

import src.model.Cliente;

public class TableModelCliente extends TableModelPadrao {

public TableModelCliente(List linhas) {
	super(linhas);
	// TODO Auto-generated constructor stub
}

@Override
protected String[] criarColunas() {
	return new String[] {"Nome"};
}

public Object getValueAt(int rowIndex, int columnIndex) {
	Cliente cliente = (Cliente) linhas.get(rowIndex);
	switch (columnIndex) {
	case 0: 
		return cliente.getNome();
	default: 
		return null;
	}
}

}[/code]

Valeu Ronaldo, farei uns testes aqui!

Fui… 8)