método setValueAt()

Olá a todos!

Estou tentando utilizar o método setValueAt()…mas não estou conseguindo. Alguém pode me dizer o que está errado com o código abaixo?..Pois ele não atualiza determinado dado na Jtable.

[code]
public void setValueAt(Object value, int row, int column){
Animal animal = (Animal) linhas.get(row);
animal[column] = (String)value;

  switch(column) {
  
     case 0 : animal.setNumInterno((String) value);
     case 1 : animal.setNumExterno((String) value);
     case 2 : animal.setSexo((String) value);
     case 3 : animal.setDataNascimento((Date) value);
     case 4 : animal.setEspecie((Especie) value);
     case 5 : animal.setNomeMae((String) value);
     case 6 : animal.setNomePai((String) value);
     case 7 : animal.setProprietario((Proprietario) value);
     case 8 : animal.setRaca((Raca) value);
     case 9 : animal.setTipo((String) value);
     case 10 : animal.getFinalidade().setDoadorEmbriao((String) value);
     case 11 : animal.getFinalidade().setDoadorOvocito((String) value);
     case 12 : animal.getFinalidade().setDoadorSemen((String) value);
     case 13 : animal.getFinalidade().setProdutoFIV((String) value);
     case 14 : animal.getFinalidade().setEspeficicarFIV((String) value);
     case 15 : animal.getFinalidade().setProdutoIA((String) value);
     case 16 : animal.getFinalidade().setProdutoTE((String) value);
     case 17 : animal.getFinalidade().setIrmaoGemeo((String) value);
     case 18 : animal.getFinalidade().setOutros((String) value);
     case 19 : animal.getFinalidade().setEspeficificarOutros((String) value);
  
     fireTableCellUpdated(row,column);
  
 } 

}
[/code]

Pelo que entendi tu recebe o valor e coloca num objeto Animal, modifica e depois não põe de volta ???

Olá…

Não sei como fazer com q a JTable atualize o dado…

Até mais

Patty

Não faltou uns breaks no seu case?
Aquele fire também é desnecessário.

A JTable já sabe que algum dado foi alterado quando chamou esse método e a célula será atualizada, mesmo sem o fire.

  case 4 : animal.setEspecie((Especie) value);  
 case 7 : animal.setProprietario((Proprietario) value);   
  case 8 : animal.setRaca((Raca) value);   

Vc consegue fazr esse cast assim ?
Pq da cast de String antes

animal[column] = (String)value;  

sei naum hein… além que qquer value null com cast com String é pau na certa

Consegue sim, focão. No caso dela, o dado sempre vem como um objeto do tipo String. A menos que ela tenha definido alguma coluna como Boolean.class, o que acho que não foi o caso.

E é possível fazer cast de null para qualquer coisa, sem exception.

Dá uma olhada nesse model de exemplo também:
http://www.guj.com.br/posts/list/98452.java#530523

Caracas ViniGodoy tem razão

mas isso funciona se value estiver null

animal[column] = (String)value

Não ta faltando um break depois de cada case ?

Focão, essa linha não deve funcionar de jeito nenhum, pq animal não é um vetor.

E um Default.

Abraço!

default não é obrigatório.