Coluna "int" não deixa digitar, combobox na coluna na TableModel

Boa tarde, Estou tentando criar um TableModel, após ter tido vários problema com Default e várias recomendações para mudar, mas estou com algumas duvidas de como montar alguns processo nela.

1 - Minhas colunas que estão declaradas como int, não está deixando eu digitar nelas.
2 - Colocar um combobox na coluna “Status”.

Segue Código:

Classe Fmea

public class Fmea {
private int id;
private int ordem;
private int op;
private String funcao_processo;
private String requisito_processo;
private String modo_falha;
private String efeito_potencial;
private int seve_fmea;
private int classificacao;
private String causa_mecanismo;
private String six_ms;
private String controles_prevencao;
private int ocor_fmea;
private String controles_deteccao;
private int detec_fmea;
private int rpn_fmea;
private String acao_recomendada;
private String numero_reclamacao;
private String responsavel;
private String prazo;
private String status;
private int sever;
private int ocorr;
private int detec;
private int rpn;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public int getOrdem() {
    return ordem;
}

public void setOrdem(int ordem) {
    this.ordem = ordem;
}

public int getOp() {
    return op;
}

public void setOp(int op) {
    this.op = op;
}

public String getFuncao_processo() {
    return funcao_processo;
}

public void setFuncao_processo(String funcao_processo) {
    this.funcao_processo = funcao_processo;
}

public String getRequisito_processo() {
    return requisito_processo;
}

public void setRequisito_processo(String requisito_processo) {
    this.requisito_processo = requisito_processo;
}

public String getModo_falha() {
    return modo_falha;
}

public void setModo_falha(String modo_falha) {
    this.modo_falha = modo_falha;
}

public String getEfeito_potencial() {
    return efeito_potencial;
}

public void setEfeito_potencial(String efeito_potencial) {
    this.efeito_potencial = efeito_potencial;
}

public int getSeve_fmea() {
    return seve_fmea;
}

public void setSeve_fmea(int seve_fmea) {
    this.seve_fmea = seve_fmea;
}

public int getClassificacao() {
    return classificacao;
}

public void setClassificacao(int classificacao) {
    this.classificacao = classificacao;
}

public String getCausa_mecanismo() {
    return causa_mecanismo;
}

public void setCausa_mecanismo(String causa_mecanismo) {
    this.causa_mecanismo = causa_mecanismo;
}

public String getSix_ms() {
    return six_ms;
}

public void setSix_ms(String six_ms) {
    this.six_ms = six_ms;
}

public String getControles_prevencao() {
    return controles_prevencao;
}

public void setControles_prevencao(String controles_prevencao) {
    this.controles_prevencao = controles_prevencao;
}

public int getOcor_fmea() {
    return ocor_fmea;
}

public void setOcor_fmea(int ocor_fmea) {
    this.ocor_fmea = ocor_fmea;
}

public String getControles_deteccao() {
    return controles_deteccao;
}

public void setControles_deteccao(String controles_deteccao) {
    this.controles_deteccao = controles_deteccao;
}

public int getDetec_fmea() {
    return detec_fmea;
}

public void setDetec_fmea(int detec_fmea) {
    this.detec_fmea = detec_fmea;
}

public int getRpn_fmea() {
    return rpn_fmea;
}

public void setRpn_fmea(int rpn_fmea) {
    this.rpn_fmea = rpn_fmea;
}

public String getAcao_recomendada() {
    return acao_recomendada;
}

public void setAcao_recomendada(String acao_recomendada) {
    this.acao_recomendada = acao_recomendada;
}

public String getNumero_reclamacao() {
    return numero_reclamacao;
}

public void setNumero_reclamacao(String numero_reclamacao) {
    this.numero_reclamacao = numero_reclamacao;
}

public String getResponsavel() {
    return responsavel;
}

public void setResponsavel(String responsavel) {
    this.responsavel = responsavel;
}

public String getPrazo() {
    return prazo;
}

public void setPrazo(String prazo) {
    this.prazo = prazo;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

public int getSever() {
    return sever;
}

public void setSever(int sever) {
    this.sever = sever;
}

public int getOcorr() {
    return ocorr;
}

public void setOcorr(int ocorr) {
    this.ocorr = ocorr;
}

public int getDetec() {
    return detec;
}

public void setDetec(int detec) {
    this.detec = detec;
}

public int getRpn() {
    return rpn;
}

public void setRpn(int rpn) {
    this.rpn = rpn;
}

public int getResultado() {
    return seve_fmea * ocor_fmea * detec_fmea;
}

public int getResultado2() {
    return sever * ocorr * detec;
}

}

Classe FmeaTableModel

public class FmeaTableModel extends AbstractTableModel {

    // Constantes representando o índice das colunas
    private static final int ID = 0;
    private static final int ORDEM = 1;
    private static final int OPERACAO = 2;
    private static final int FUNCAO_DO_PROCESSO = 3;
    private static final int REQUISITOS_PROCESSO = 4;
    private static final int MODO_DE_FALHA = 5;
    private static final int EFEITOS_POTENCIAL = 6;
    private static final int SEVE_FMEA = 7;
    private static final int CLASSIFICACAO = 8;
    private static final int CAUSA_MECANISMO = 9;
    private static final int SIX_MS = 10;
    private static final int CONTROLES_PREVENCAO = 11;
    private static final int OCOR_FMEA = 12;
    private static final int CONTROLES_DETECCAO = 13;
    private static final int DETEC_FMEA = 14;
    private static final int RPN_FMEA = 15;
    private static final int ACAO_RECOMENDADA = 16;
    private static final int NUMERO_RECLAMACAO = 17;
    private static final int RESPONSAVEL = 18;
    private static final int PRAZO = 19;
    private static final int STATUS = 20;
    private static final int SEVER = 21;
    private static final int OCORR = 22;
    private static final int DETEC = 23;
    private static final int RPN = 24;

    // Lista de Sócios a serem exibidos na tabela
    private List<Fmea> linhas;

    // Array com os nomes das colunas.
    private String[] colunas = new String[]{"ID", //0
        "Ordem", //1
        "Operação", //2
        "Função do Processo", //3
        "Requisitos do Processo", //4
        "Modo de Falha Potencial", //5
        "Efeito Potencial da Falha", //6
        "SEVE", //7
        "Classicação", //8
        "Causa / Mecanismo", //9
        "6 M'S", //10
        "Controles de Prevenção", //11
        "OCOR",//12
        "Controles de Detecção", //13
        "DETEC", //14
        "RPN", //15
        "Ações Recomendadas", //16
        "Número da Reclamação", //17
        "Responsável", //18
        "Prazo", //19
        "Status", //20
        "Sever", //21
        "Ocorr", //22
        "Detec", //23
        "RPN"};//24

    // Cria um SocioTableModel sem nenhuma linha
    public FmeaTableModel() {
        linhas = new ArrayList<Fmea>();
    }

    // Cria um SocioTableModel contendo a lista recebida por parâmetro
    public FmeaTableModel(List<Fmea> listaDeSocios) {
        linhas = new ArrayList<Fmea>(listaDeSocios);
    }

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

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

    @Override
    public String getColumnName(int columnIndex) {
        return colunas[columnIndex];
    }

    ;

	@Override
    public Class<?> getColumnClass(int columnIndex) {
        switch (columnIndex) {
            case ID:
                return int.class;
            case ORDEM:
                return int.class;
            case OPERACAO:
                return int.class;
            case FUNCAO_DO_PROCESSO:
                return String.class;
            case REQUISITOS_PROCESSO:
                return String.class;
            case MODO_DE_FALHA:
                return String.class;
            case EFEITOS_POTENCIAL:
                return String.class;
            case SEVE_FMEA:
                return int.class;
            case CLASSIFICACAO:
                return int.class;
            case CAUSA_MECANISMO:
                return String.class;
            case SIX_MS:
                return String.class;
            case CONTROLES_PREVENCAO:
                return String.class;
            case OCOR_FMEA:
                return int.class;
            case CONTROLES_DETECCAO:
                return String.class;
            case DETEC_FMEA:
                return int.class;
            case RPN_FMEA:
                return int.class;
            case ACAO_RECOMENDADA:
                return String.class;
            case NUMERO_RECLAMACAO:
                return String.class;
            case RESPONSAVEL:
                return String.class;
            case PRAZO:
                return String.class;
            case STATUS:
                return String.class;
            case SEVER:
                return int.class;
            case OCORR:
                return int.class;
            case DETEC:
                return int.class;
            case RPN:
                return int.class;

            default:
                // Não deve ocorrer, pois só existem 4 colunas
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        // apenas o campo "ATIVO" será editável
        return true;

    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        // Pega o sócio referente a linha especificada.
        Fmea fmea = linhas.get(rowIndex);

        switch (columnIndex) {
            case ID:
                return fmea.getId();
            case ORDEM:
                return fmea.getOrdem();
            case OPERACAO:
                return fmea.getOp();
            case FUNCAO_DO_PROCESSO:
                return fmea.getFuncao_processo();
            case REQUISITOS_PROCESSO:
                return fmea.getRequisito_processo();
            case MODO_DE_FALHA:
                return fmea.getModo_falha();
            case EFEITOS_POTENCIAL:
                return fmea.getEfeito_potencial();
            case SEVE_FMEA:
                return fmea.getSeve_fmea();
            case CLASSIFICACAO:
                return fmea.getClassificacao();
            case CAUSA_MECANISMO:
                return fmea.getCausa_mecanismo();
            case SIX_MS:
                return fmea.getSix_ms();
            case CONTROLES_PREVENCAO:
                return fmea.getControles_prevencao();
            case OCOR_FMEA:
                return fmea.getOcor_fmea();
            case CONTROLES_DETECCAO:
                return fmea.getControles_deteccao();
            case DETEC_FMEA:
                return fmea.getDetec_fmea();
            case RPN_FMEA:
                return fmea.getResultado();
            case ACAO_RECOMENDADA:
                return fmea.getAcao_recomendada();
            case NUMERO_RECLAMACAO:
                return fmea.getNumero_reclamacao();
            case RESPONSAVEL:
                return fmea.getResponsavel();
            case PRAZO:
                return fmea.getPrazo();
            case STATUS:
                return fmea.getStatus();
            case SEVER:
                return fmea.getSever();
            case OCORR:
                return fmea.getOcorr();
            case DETEC:
                return fmea.getDetec();
            case RPN:
                return fmea.getResultado2();

            default:
                // Não deve ocorrer, pois só existem 4 colunas
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        // Pega o sócio referente a linha especificada.
        Fmea fmea = linhas.get(rowIndex);

        switch (columnIndex) {
            case ID:
                fmea.setId((int) aValue);
                break;
            case ORDEM:
                fmea.setOrdem((int) aValue);
                break;
            case OPERACAO:
                fmea.setOp((int) aValue);
                break;
            case FUNCAO_DO_PROCESSO:
                fmea.setFuncao_processo((String) aValue);
                break;
            case REQUISITOS_PROCESSO:
                fmea.setRequisito_processo((String) aValue);
                break;
            case MODO_DE_FALHA:
                fmea.setModo_falha((String) aValue);
                break;
            case EFEITOS_POTENCIAL:
                fmea.setEfeito_potencial((String) aValue);
                break;
            case SEVE_FMEA:
                fmea.setSeve_fmea((int) aValue);
                break;
            case CLASSIFICACAO:
                fmea.setClassificacao((int) aValue);
                break;
            case CAUSA_MECANISMO:
                fmea.setCausa_mecanismo((String) aValue);
                break;
            case SIX_MS:
                fmea.setSix_ms((String) aValue);
                break;
            case CONTROLES_PREVENCAO:
                fmea.setControles_prevencao((String) aValue);
                break;
            case OCOR_FMEA:
                fmea.setOcor_fmea((int) aValue);
                break;
            case CONTROLES_DETECCAO:
                fmea.setControles_deteccao((String) aValue);
                break;
            case DETEC_FMEA:
                fmea.setDetec_fmea((int) aValue);
                break;
//            case RPN_FMEA:
//                fmea.setRpn_fmea((int) aValue);
//                break;
            case ACAO_RECOMENDADA:
                fmea.setAcao_recomendada((String) aValue);
                break;
            case NUMERO_RECLAMACAO:
                fmea.setNumero_reclamacao((String) aValue);
                break;
            case RESPONSAVEL:
                fmea.setResponsavel((String) aValue);
                break;
            case PRAZO:
                fmea.setPrazo((String) aValue);
                break;
            case STATUS:
                fmea.setStatus((String) aValue);
                break;
            case SEVER:
                fmea.setSever((int) aValue);
                break;
            case OCORR:
                fmea.setOcorr((int) aValue);
                break;
            case DETEC:
                fmea.setDetec((int) aValue);
                break;
//            case RPN:
//                fmea.setRpn((int) aValue);
//                break;

            default:
                // Não deve ocorrer, pois só existem 4 colunas
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }

        fireTableCellUpdated(rowIndex, columnIndex); // Notifica a atualização da célula
    }

    // Retorna o sócio referente a linha especificada
    public Fmea getSocio(int indiceLinha) {
        return linhas.get(indiceLinha);
    }

    /* Adiciona o sócio especificado ao modelo */
    public void addSocio(Fmea socio) {
        // Adiciona o registro.
        linhas.add(socio);

        // Pega a quantidade de registros e subtrai 1 para
        // achar o último índice. A subtração é necessária
        // porque os índices começam em zero.
        int ultimoIndice = getRowCount() - 1;

        // Notifica a mudança.
        fireTableRowsInserted(ultimoIndice, ultimoIndice);
    }

    /* Remove o sócio da linha especificada. */
    public void removeSocio(int indiceLinha) {
        // Remove o registro.
        linhas.remove(indiceLinha);

        // Notifica a mudança.
        fireTableRowsDeleted(indiceLinha, indiceLinha);
    }

    /* Adiciona uma lista de sócios no final da lista. */
    public void addListaDeSocios(List<Fmea> socios) {
        // Pega o tamanho antigo da tabela, que servirá
        // como índice para o primeiro dos novos registros
        int indice = getRowCount();

        // Adiciona os registros.
        linhas.addAll(socios);

        // Notifica a mudança.
        fireTableRowsInserted(indice, indice + socios.size());
    }

    /* Remove todos os registros. */
    public void limpar() {
        // Remove todos os elementos da lista de sócios.
        linhas.clear();

        // Reporta a mudança.
        fireTableDataChanged();
    }

}

Classe FmeaTableModelTest

public class FmeaTableModelTest extends JFrame {

    private JTable tblFmea;
    private FmeaTableModel tableModel;

    public FmeaTableModelTest() {
        super("FmeaTableModelTest");
        initialize();
    }

    private void initialize() {
        setSize(1800, 1000);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        getContentPane().add(new JScrollPane(getTblfmeas()));
    }

    private JTable getTblfmeas() {
        if (tblFmea == null) {
            tblFmea = new JTable();
tblFmea.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            tblFmea.setModel(getTableModel());
            tblFmea.setDefaultRenderer(TextAreaCellRenderer.class, new TextAreaCellRenderer());


            ((DefaultTableCellRenderer) tblFmea.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(SwingConstants.CENTER);
            tblFmea.setForeground(Color.BLACK);
            tblFmea.setFont(new Font("arial", Font.BOLD, 14));
            tblFmea.getTableHeader().setFont(new Font("arial", Font.BOLD, 14));
            tblFmea.getTableHeader().setForeground(Color.blue);
            tblFmea.setRowHeight(55);
            tblFmea.setGridColor(Color.BLACK);
            tblFmea.setShowGrid(true);
            tblFmea.setColumnSelectionAllowed(true);
            tblFmea.setRowSelectionAllowed(true);
            tblFmea.setCellSelectionEnabled(true);


//            tblFmea.getColumnModel().getColumn(0).setMinWidth(0);
//            tblFmea.getColumnModel().getColumn(0).setMaxWidth(0);
////            tblFmea.getColumnModel().getColumn(2).setMinWidth(0);
////            tblFmea.getColumnModel().getColumn(2).setMaxWidth(0);
            tblFmea.getColumnModel().getColumn(3).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(3).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(4).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(4).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(5).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(5).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(6).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(6).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(7).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(7).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(8).setMinWidth(100);
            tblFmea.getColumnModel().getColumn(8).setMaxWidth(100);
            tblFmea.getColumnModel().getColumn(9).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(9).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(10).setMinWidth(100);
            tblFmea.getColumnModel().getColumn(10).setMaxWidth(100);
            tblFmea.getColumnModel().getColumn(11).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(11).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(12).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(12).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(13).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(13).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(14).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(14).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(15).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(15).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(16).setMinWidth(300);
            tblFmea.getColumnModel().getColumn(16).setMaxWidth(300);
            tblFmea.getColumnModel().getColumn(17).setMinWidth(200);
            tblFmea.getColumnModel().getColumn(17).setMaxWidth(200);
            tblFmea.getColumnModel().getColumn(18).setMinWidth(100);
            tblFmea.getColumnModel().getColumn(18).setMaxWidth(100);
            tblFmea.getColumnModel().getColumn(19).setMinWidth(100);
            tblFmea.getColumnModel().getColumn(19).setMaxWidth(100);
            tblFmea.getColumnModel().getColumn(20).setMinWidth(100);
            tblFmea.getColumnModel().getColumn(20).setMaxWidth(100);
            tblFmea.getColumnModel().getColumn(21).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(21).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(22).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(22).setMaxWidth(50);
            tblFmea.getColumnModel().getColumn(23).setMinWidth(50);
            tblFmea.getColumnModel().getColumn(23).setMaxWidth(50);
        }
        return tblFmea;
    }

    private FmeaTableModel getTableModel() {
        if (tableModel == null) {
            tableModel = new FmeaTableModel(criaFmeas());
        }
        return tableModel;
    }

    // cria uma lista com 5 sócios meramente ilustrativos
    private List<Fmea> criaFmeas() {
        List<Fmea> fmeas = new ArrayList<Fmea>();

        for (int i = 1; i <= 5; i++) {
            Fmea fmea = new Fmea();
            
            
            fmea.setId(1 + i);
            fmea.setOrdem(10 + i);
            fmea.setOp(1010 + i);
//            fmea.setFuncao_processo("Teste" + i);
//            fmea.setRequisito_processo("Teste" + i);
//            fmea.setModo_falha("Teste" + i);
//            fmea.setEfeito_potencial("Teste" + i);
            fmea.setSeve_fmea(7 + i);
            fmea.setClassificacao(5 + i);
//            fmea.setCausa_mecanismo("Teste" + i);
//            fmea.setSix_ms("Teste" + i);
//            fmea.setControles_prevencao("Teste" + i);
            fmea.setOcor_fmea(5 + i);
//            fmea.setControles_deteccao("Teste" + i);
//            fmea.setTbl_detetccao("Teste" + i);
            fmea.setDetec_fmea(5 + i);
//            fmea.setRpn_fmea(190 + i);
//            fmea.setAcao_recomendada("Teste" + i);
//            fmea.setNumero_reclamacao("Teste" + i);
//            fmea.setResponsavel("Teste" + i);
//            fmea.setPrazo("Teste" + i);
//            fmea.setStatus("Teste" + i);
            fmea.setSever(5 + i);
            fmea.setOcorr(7 + i);
            fmea.setDetec(3 + i);
//            fmea.setRpn(1 + i);
            fmeas.add(fmea);
        }
        return fmeas;
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new FmeaTableModelTest().setVisible(true);
            }
        });
    }

}

Alguém?