Cast no Valor da Célula de um JTable

1 resposta
W

Sou novato em fóruns, então, acho que devo postar minha dúvida aqui.

O problema é o seguinte:

Eu tenho um JTable que utiliza o CellEditor padrão da classe, quando é instanciada. Então, capturo o valor de uma célula através de um tableChanged(TableModelEvent tableModelEvent), como no código exemplificado abaixo:

//...
Object obj = ((TableModel)tableModelEvent.getSource()).getValueAt(row, column);
//...

Pois bem, o valor contido nesta célula é do tipo Double, porque foi o valor que eu defini quando passei um Vector com os dados para o construtor do JTable. Entretanto, quando eu executo a instrução:

//...
Double db = (Double)obj;
//...

ele lança um ClassCastException, dizendo que eu não posso converter uma String em um Double. Porém, então, eu mudo o processo e executo a seguinte instrução:

//...
String str = (String)obj;
//...

apenas como teste e ele novamente lança uma exceção ClassCastException, dizendo que eu não posso converter um Double em uma String.

Se alguém já teve este problema antes, gostaria de entender qual o erro para não ter que fazer uma gambiarra para resolver o assunto.

Caso a dúvida não tenha ficado clara, posso detalhar mais, só não o fiz para que o tópico não ficasse muito extenso.

Caso eu tenha postado o assunto na seção errada, me indiquem onde devo postá-la.

1 Resposta

F

Olá!

Tente isso:

de Double para String:

String.valueOf(obj);

de String para Double:

Double.parseDouble(obj);

Espero que sirva!

Criado 15 de janeiro de 2009
Ultima resposta 16 de jan. de 2009
Respostas 1
Participantes 2