Pessoal, estou tentanto aprender a utilizar o JTable.
Li alguns tutoriais (inclusive os dois do guj) mas ainda tenho algumas duvidas.
Criei meu modelo baseado no tutorial do guj para fazer alguns testes.
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
/**
*
*/
public class modelEntidade extends AbstractTableModel
{
private ArrayList linhas = null;
private String[] colunas = null; //= {"Id", "Nome", "Sobrenome", "Departamento", "Função"};
private boolean [] colsEdicao;
public modelEntidade(ArrayList linhas, String[] colunas, boolean [] edicao)
{
setLinhas(linhas);
setColunas(colunas);
this.colsEdicao = edicao;
}
public int getRowCount() {
return this.linhas.size();
}
public int getColumnCount() {
return this.colunas.length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
String[] linha = (String[])this.linhas.get(rowIndex);
return linha[columnIndex];
}
public String[] getColunas() {
return colunas;
}
public void setColunas(String[] colunas) {
this.colunas = colunas;
}
public ArrayList getLinhas() {
return linhas;
}
public void setLinhas(ArrayList linhas) {
this.linhas = linhas;
}
public boolean isCellEditable(int row, int col){
return colsEdicao[col];
}
}
E na minha classe que constroi uma GUI de pesquisa.
inicializei minha JTable dessa forma
colunas = new String[]{"Id", "Nome", "Sobrenome", "Departamento", "Função"};
linhas = new ArrayList();
linhas.add(new String[]{"1","Rodrigo","Wolf","PED","POG"});
boolean[] cell = new boolean[]{false,false,false,false,false};
modelEntidade modelo = new modelEntidade(linhas,colunas,cell);
jTable1 = new javax.swing.JTable(modelo);
jTable1.setAutoCreateColumnsFromModel(false);
jScrollPane1.setViewportView(jTable1);
Os dados estão parecendo nas linhas, mas as colunas aparecem como A B C D E F
DUVIDA:
Porque as colunas não estão sendo setadas como defini no vetor de String?
Preciso Alterar alguma coisa no meu modelo?
Obrigado