Aew galera estou tendo uma dificuldade ao tentar implementar JComBox em um Model exteds AbstractTableModel, segue o modelo...
public class FuncionarioAtributoModel extends AbstractTableModel {
private Object[][] tabela;
private String[] colunas = {"", "Código", "Descrição", "Valor"};
private Class[] types = new Class[]{
java.lang.Boolean.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class
};
private boolean[] canEdit = new boolean[]{
true, false, false, true
};
private List<FuncionarioAtributo> listaAtributo;
private List<FuncAtributoValor> listaValor;
private FuncionarioAtributo funcAtributo;
private FuncAtributoValor funcValor;
public FuncionarioAtributoModel(List<FuncionarioAtributo> listaAtributo,
List<FuncAtributoValor> listaValor) {
this.listaAtributo = listaAtributo;
this.listaValor = listaValor;
filtrar();
}
private void filtrar() {
tabela = new Object[listaAtributo.size()][colunas.length];
int i = 0;
while (i < listaAtributo.size()) {
if (!listaAtributo.contains(listaValor.get(i).getFuncAtributo())) {
funcAtributo = listaAtributo.get(i);
tabela[i][0] = false;
tabela[i][1] = funcAtributo.getId();
tabela[i][2] = funcAtributo.getDescricao();
tabela[i][3] = "";
} else {
funcValor = listaValor.get(i);
tabela[i][0] = true;
tabela[i][1] = funcValor.getId();
tabela[i][2] = funcValor.getFuncAtributo().getDescricao();
tabela[i][3] = funcValor.getValor();
}
i++;
}
}
@Override
public int getRowCount() {
return tabela.length;
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return tabela[rowIndex][columnIndex];
}
@Override
public String getColumnName(int col) {
return colunas[col];
}
@Override
public Class getColumnClass(int c) {
return types[c];
}
@Override
public boolean isCellEditable(int row, int col) {
return canEdit[col];
}
}
a Coluna 0 é formada por checkBox mas não consigo fazer com que eles fiquem editaveis ao clicar nao faz nada como resolvo esse problema?
Obrigado.