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)