java.lang.String cannot be cast to java.lang.Boolean

1 resposta
programaçãojava
F

Pessoal estou querondo que com o eventode uma table clik ele retorne o valor do radio button selecionado mas apresenta o seguinte erro java.lang.String cannot be cast to java.lang.Boolean

btnAtivo.setSelected((boolean) jTableProdutos.getValueAt(fila,6));

1 Resposta

4

Primeiro verifique usando um System.out.print() para saber que tipo de dado vc esta recebendo com este GetValueAt, caso esteja certo o índice de coluna que vc quer, verifique como vc está gravando os dados na sua tabela, porém eu recomendaria q vc utilizasse o TableModel para pegar este dado, seja ele Default ou Abstract. Isso é bem mais eficiente q o getValueAt, pois existe o seguinte caso:

Digamos que vc faz um GetvalueAt na coluna 2 e reordene as colunas, mudando suas posições (o que era 2 vai pára o index 3 e 3 para o index 1, etc…), ao refazer o getValue, ele retornará o valor da coluna 2. Se vc possui um tratamento como o seu, q precisa de um valor específico, o fato de retornar um valor incorreto é um problema grave.

Estude AbstractTableModel, sei q pode parecer complicado, mas é o melhor q pode implementar com JTable.

http://www.botecodigital.info/java/criando-um-model-para-um-jtable-com-abstracttablemodel/

Criado 14 de fevereiro de 2017
Ultima resposta 15 de fev. de 2017
Respostas 1
Participantes 2