Boa noite galera, estou precisando de uma focinha para implementa uma coluna checkbox no tablemodel, infelizmente não consegui exibir o checkbox, alguém ai podeira me da uma focinha ver onde é q estou errado na implementação do tablemodel, ha uma duvida o banco de dado firebird não tipo dado boolean, mas li q pode ser substituto por char ou int é isso mesmo. Para criar essa coluna checkbox é necessário ter um campo boolean no banco de dado ou não tem nada a ver podendo ser criando em existi esse campo.
@Override
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case 0:
return Boolean.class;
case 1:
return String.class;
case 2:
return String.class;
case 3:
return String.class;
case 4:
return String.class;
case 5:
return String.class;
case 6:
return String.class;
case 7:
return String.class;
case 8:
return String.class;
default:
throw new IndexOutOfBoundsException("columnIndex out of bounds");
}
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
obj = linhas.get(rowIndex);
switch (columnIndex) {
case 0:
return obj.isCheckbox();
case 1:
return obj.getNum_doc();
case 2:
return Ulti.dt.format(obj.getEmissao());
case 3:
return obj.getN_parcela();
case 4:
return Ulti.dt.format(obj.getVencimento());
case 5:
return Ulti.dFqtde.format(obj.getDias());
case 6:
return dF.format(obj.getVlr_parcela());
case 7:
return Ulti.dt.format(obj.getPagamento());
case 8:
return obj.getPgto();
default:
throw new IndexOutOfBoundsException("columnIndex out of bounds");
}
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
obj = linhas.get(rowIndex);
System.out.println("columnIndex: " + columnIndex);
switch (columnIndex) {
case 0:
if (aValue.getClass() == Boolean.class) {
obj.setCheckbox((Boolean)aValue);
}
break;
case 1:
if (aValue.getClass() == String.class) {
obj.setNum_doc(aValue.toString());
}
break;
case 2:
if (aValue.getClass() == String.class) {
obj.setEmissao(Date.valueOf(aValue.toString()));
}
break;
case 3:
if (aValue.getClass() == Double.class) {
obj.setN_parcela(aValue.toString());
}
break;
case 4:
if (aValue.getClass() == String.class) {
obj.setVencimento(Date.valueOf(aValue.toString()));
}
break;
case 5:
if (aValue.getClass() == String.class) {
obj.setDias(Integer.parseInt(aValue.toString()));
}
break;
case 6:
if (aValue.getClass() == String.class) {
obj.setVlr_parcela(Double.parseDouble(aValue.toString()));
}
case 7:
if (aValue.getClass() == String.class) {
obj.setPagamento(Date.valueOf(aValue.toString()));
}
case 8:
if (aValue.getClass() == String.class) {
obj.setPgto(aValue.toString());
}
break;
default:
throw new IndexOutOfBoundsException("columnIndex out of bounds");
}
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 0:
return true;
default:
return false;
}
}