Galera, aprendi aqui no forum que a boa prática manda o programador trabalhar criando models para suas JTables…
Bem…criei meu model mas estou com alguns problemas…
1)Nem todas as colunas aparecem. Ela vai de “Lote” até "Nome Leit."
2)Uma exception fica sendo levantada de instantes em instantes…
public class ImportTableModel extends AbstractTableModel {
private Vector<Import> list;
private String[] colunas = {"Lote", "Local", "Lista", "Membro", "Cli.Rota", "Cli.Env",
"Cli.Ret.", "Cli.Fat.", "Cli.Fat.Lido", "Cli.Fat.N.Lido", "Cli.N.Fat.",
"Cli.Duv.", "Cli.Duv.Fat.", "Cli.Duv.N.Fat.", "Cli.Duv.Corrig.Manual",
"Cli.Duv.Corrig.Autom.", "Cli.Duv.N.Corrig", "Qtd.Reimpressos",
"Qtd.End.Postal", "Qtd.Agrupamento", "Qtd.Outros", "Coletor", "Empreit.",
"Cód. Leit.", "Nome Leit.", "Estado", "Tipo da Rota", "Coletor Ass.Duv.",
"Qtd. Impr. Duv.", "Estado de Impressão dos Duvidosos", "Responsavel Coelce", "Telefone responsavel Coelce",
"Responsavel parceira", "Telefone responsavel parceira"};
public ImportTableModel(Vector<Import> list, boolean model) {
this();
this.list.addAll(list);
}
public ImportTableModel() {
list = new Vector<Import>();
}
public int getRowCount() {
return list.size();
}
public int getColumnCount() {
return colunas.length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
if (rowIndex >= list.size()) {//tentei corrigir a exception com este comando, mas não funcionou
return null;
}
Import imp = null;
try {
imp = list.get(rowIndex);
} catch (Exception e) {
return null;
}
switch (columnIndex) {
case 0:
return imp.getLote();
case 1:
return imp.getLocal();
case 2:
return imp.getLista();
case 3:
return imp.getMembro();
case 4:
return imp.getCliRota();
case 5:
return imp.getCliEnv();
case 6:
return imp.getCliRet();
case 7:
return imp.getCliFat();
case 8:
return imp.getCliFatLido();
case 9:
return imp.getCliFatNLido();
case 10:
return imp.getCliNFat();
case 11:
return imp.getCliDuv();
case 12:
return imp.getCliDuvFat();
case 13:
return imp.getCliDuvNFat();
case 14:
return imp.getCliDuvCorrgManual();
case 15:
return imp.getCliDuvCorrgAutoma();
case 16:
return imp.getCliDuvNCorrig();
case 17:
return imp.getQtdReimpressos();
case 18:
return imp.getQtdEndPostal();
case 19:
return imp.getQtdAgrupamento();
case 20:
return imp.getQtdOutros();
case 21:
return imp.getColetor();
case 22:
return imp.getEmpreit();
case 23:
return imp.getCodLeit();
case 24:
return imp.getNomeLeit();
case 25:
return imp.getEstado();
case 26:
return imp.getTipoRota();
case 27:
return imp.getColetorAssDuvidoso();
case 28:
return imp.getQtdImprDuv();
case 29:
return imp.getEstadoImpressaoDuv();
default:
return null;
}
}
@Override
public String getColumnName(int c) {
if (c < 25) {
return colunas[c];
} else {
return "";
}
}
public Class getColumnClass(int c) {
switch (c) {
case 0:
return Integer.class;
case 1:
return Integer.class;
case 2:
return Integer.class;
case 3:
return Integer.class;
case 4:
return Integer.class;
case 5:
return Integer.class;
case 6:
return Integer.class;
case 7:
return Integer.class;
case 8:
return Integer.class;
case 9:
return Integer.class;
case 10:
return Integer.class;
case 11:
return Integer.class;
case 12:
return Integer.class;
case 13:
return Integer.class;
case 14:
return Integer.class;
case 15:
return Integer.class;
case 16:
return Integer.class;
case 17:
return Integer.class;
case 18:
return Integer.class;
case 19:
return Integer.class;
case 20:
return Integer.class;
case 21:
return Integer.class;
case 22:
return String.class;
case 23:
return String.class;
case 24:
return String.class;
case 25:
return String.class;
case 26:
return String.class;
case 27:
return String.class;
case 28:
return String.class;
case 29:
return String.class;
default:
return null;
}
}
}
Como eu posso corrigir estes 2 erros?
