Problema jTable

0 respostas
Robertdm

Pessoal,

Estou com um pequeno problema que não consigo identificar as causas. O que acontece é que minha aplicação tem duias jTable sendo elas jTableNotas e jTableAvaliacoes.

Na jTableAvaliacoes tem uma das colunas que é para valores int, sendo que quando digito alguma letra ela não deixa sair da celula e não gera nenhuma exceção por ter sido digitado letras. Já na jTableNotas todas as colunas são para valores int, porém quando digito alguma letra e tento sair da célula ela não deixa e gera uma exceção do tipo "NumberFormatException" a qual acredito eu ser pelo fato de n]ao ter conseguido converter no conteúdo para int.

O que quero saber é pq em uma não gera a exceção e na outra gera.

Abaixo segue o método setValueAt das duas:

jTableNotas

 public void setValueAt(Object aValue, int row, int column) {
        //Pega a aula da linha row.
        AlunoSaida aluno = alunosSaida.get(row);
        // o parâmetro trimestre é uma String
        TrimestreSaida trimestreSaida = aluno.getTrimestre(trimestre);
        
         //Verifica qual valor deve ser retornado
        if (column == COL_ALUNO)
            aluno.setNome(aValue.toString());
        else if (column == COL_AVAL1)
            trimestreSaida.setAvaliacao1(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_AVAL2)
            trimestreSaida.setAvaliacao2(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_AVAL3)
            trimestreSaida.setAvaliacao3(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_AVAL4)
            trimestreSaida.setAvaliacao4(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_AVAL5)
            trimestreSaida.setAvaliacao5(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_MEDIA)
            trimestreSaida.setMedia(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_FALTA)
            trimestreSaida.setFaltas(Integer.parseInt((String)(aValue.toString())));
        else if (column == COL_RECUPERACAO)
            trimestreSaida.setRecuperacao(Integer.parseInt((String)(aValue.toString())));
    }
jTableAvaliacoes

public void setValueAt(Object aValue, int row, int column) {
        //Pega a aula da linha row.
        AvaliacaoSaida avaliacao = avaliacoesSaida.get(row);

        //Verifica qual valor vai ser alterado
        if (column == COL_NOME)
            avaliacao.setNome(aValue.toString());
        else if (column == COL_DESCRICAO)
            avaliacao.setDescricao(aValue.toString());
        else if (column == COL_PESO)
            avaliacao.setPeso(Integer.parseInt((String)(aValue.toString())));
    }

Agradeço a atenção e fico no aguardo de uma ajuda.

Criado 10 de novembro de 2010
Respostas 0
Participantes 1