( Resolvido ) Edição de dados em coluna do tipo Date com AbstractTableModel

Boa tarde, montei minha jTable Abstrata que está funcionando normal todo o preenchimento.
Porém estou com problemas na edição de uma coluna do tipo Date, eu preencho ela de forma automática mas gostaria de permitir a edição dela caso o usuário queira…
E é aí que está o problema, pois a coluna esta setada como isCellEditable e mesmo assim não consigo editar a nenhuma informação desta coluna.
Fiz um teste colocando todas as colunas como Editable e rodei para testar…todas funcionam a edição, menos a esta celula que quero.

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package renatoportfolio.com.tabelas;

import java.math.BigDecimal;
import java.sql.Date;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.swing.table.AbstractTableModel;
import renatoportfolio.com.dto.CreditoDto;

/**
 *
 * @author DESENVOLVIMENTO
 */
public class TabelaCredito extends AbstractTableModel {

    private ArrayList<CreditoDto> linhas;
    private String[] colunas = {"NR", "COD.CLI", "PARC", "VALOR", "JUROS %", "VENCIMENTO", "DT.OP", "STATUS"};

    public TabelaCredito(List<CreditoDto> pacote_de_dados, String[] nome_das_colunas) {

        this.linhas = new ArrayList(pacote_de_dados);
        setColunas(nome_das_colunas);
    }

    public TabelaCredito() {
        this.linhas = new ArrayList<>();
    }

    @Override
    public int getRowCount() {
        int tamanho = linhas.size();
        return tamanho;
    }

    @Override
    public int getColumnCount() {
        int tamanho = colunas.length;
        return tamanho;
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {

        switch (columnIndex) {
            //case 0:
              //  return Integer.class;//id
            case 0:
                return Integer.class;//nr
            case 1:
                return Integer.class;//cod.cli
            case 2:
                return Integer.class;//parc
            case 3:
                return BigDecimal.class;//valor
            case 4:
                return Integer.class;//juros
            case 5:
                return Date.class;//vencimento
            case 6:
                return Date.class;//dt.op
            case 7:
                return Integer.class;//status
            default:

        }
        return null;
    }

    @Override
    public Object getValueAt(int linha, int coluna) {
        Object value = null;
        Locale meuLocal = new Locale("pt", "BR");
        DecimalFormat df = (DecimalFormat) NumberFormat.getCurrencyInstance(meuLocal);
        SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); //Cria o formato pardão da data.
        final CreditoDto dto = (CreditoDto) linhas.get(linha);

        
        switch (coluna) {
            //case 0:
              //  value = dto.getIdcred();
                //break;
            case 0:
                value = String.format("%06d", dto.getNr());
                break;
            case 1:
                value = dto.getCodcli();
                break;
            case 2:
                value = dto.getParc();
                break;
            case 3:
                value = df.format(dto.getValor());
                break;
            case 4:
                value = dto.getJuros();
                break;
            case 5:
                value = formatador.format(dto.getVencimento());
                break;
            case 6:
                value = formatador.format(dto.getDtoperacao());
                break;
            case 7:
                value = dto.getStatus();
                break;
        }
        return value;

    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        //metodo identifica qual coluna é editavel
 
        if(columnIndex == 0){//nr
            return false;
        }
        if(columnIndex == 1){//codcli
            return false;
        }
        if(columnIndex == 2){//parcela
            return false;
        }
        if(columnIndex == 3){//valor
            return false;
        }
        if(columnIndex == 4){//juros
            return false;
        }
        if(columnIndex == 5){//vencimento
            return true;
        }
        if(columnIndex == 6){//operacao
            return false;
        }
        if(columnIndex == 7){//status
            return false;
        }

        return true;
    }
    
    
    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        CreditoDto dto = (CreditoDto) linhas.get(rowIndex);

        switch (columnIndex) {
            //case 0:
              //  dto.setIdcred((int) aValue);
                //break;
            case 0:
                dto.setNr((int) aValue);
                break;
            case 1:
                dto.setCodcli((int) aValue);
                break;
            case 2:
                dto.setParc((int) aValue);
                break;
            case 3:
                dto.setValor((BigDecimal) aValue);
                break;
            case 4:
                dto.setJuros((int) aValue);
                break;
            case 5:
                dto.setVencimento((Date) aValue);
                break;
            case 6:
                dto.setDtoperacao((Date) aValue);
                break;
            case 7:
                dto.setStatus((int) (aValue));
                break;
            default:
                // Não deve ocorrer, pois só existem 3 colunas
                throw new IndexOutOfBoundsException("columnIndex out of bounds");

        }

        fireTableCellUpdated(rowIndex, columnIndex);
    }

    @Override
    public String getColumnName(int num) {
        String nome = colunas[num];
        return nome;
    }

    public List getLinhas() {
        return linhas;
    }

    public final void setLinhas(List linhas) {
        this.linhas = (ArrayList<CreditoDto>) linhas;
    }

    public String[] getColunas() {
        return colunas;
    }

    public final void setColunas(String[] colunas) {
        this.colunas = colunas;
    }

    public void adcCred(CreditoDto dto) {
        this.linhas.add(dto);
        fireTableDataChanged();
    }

}

Para quem passar pelo mesmo problema, a solução foi simples.
Eu estava importando sql.Date para trabalhar com a data na Classe responsavel pelos dados da tabela, e no formulário estava trabalhando com java.util.date.