ola pessoal, meu problema é o seeguinte tenho um modelo que extende abstractTableModel:
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
public class modeloRegistroLocacao extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
Vector modelVetorFichas;
public modeloRegistroLocacao(Vector listaFichas)
{
modelVetorFichas=listaFichas;
}
public int getRowCount()
{
return modelVetorFichas.size();
}
public int getColumnCount()
{
return 6;
}
public Object getValueAt(int r,int c)
{
RegistroLocacao FichaAtual=(RegistroLocacao)modelVetorFichas.get(r);
if(c==0)
return FichaAtual.getCod_livro_locado();
if(c==1)
return FichaAtual.getLivro_locado();
if(c==2)
return FichaAtual.getAutor_livro_locado();
//if(c==3)
//return FichaAtual.getCod_usuario();
//if(c==2)
//return FichaAtual.getNome_usuario();
//if(c==5)
//return FichaAtual.getEndereco_usuario();
//if(c==6)
//return FichaAtual.getEndereco_numero_usuario();
//if(c==7)
//return FichaAtual.getTel_residencial_usuario();
//if(c==8)
//return FichaAtual.getTel_celular_usuario();
if(c==3)
return FichaAtual.getData_locacao();
if(c==4)
return FichaAtual.getData_program_devolucao();
if(c==5)
return FichaAtual.getData_efetiva_devolucao();
return FichaAtual;
}
public void insertRow(Object[] data)
{
modelVetorFichas.add(data);
//fireTableRowsInserted(0,modelVetorFichas.size());
}
public void removeRow(int row)
{
modelVetorFichas.remove(row);
fireTableRowsDeleted(row,row);
}
}
depois dentro de um form tenho um botao que chama o seguinte código para inserir uma linha. De fato ele insere na tabela, mas nao consigo atualizar visualmente.
try {
inserelocacao.efetuaLocacao(insereEmprestimo);
Object dados[]={codLivroLocado,livroLocado,autorLivroLocado,DataEmprestimo,DataDevolucao,codUsuario,nomeUsuario};
//tento modificar a tabela de livros com usuarios para exibir
//o novo livro adicionado a ela
modeloRegistroLocacao mostraNovoLivro=(modeloRegistroLocacao)jTablelivroscomusuario.getModel();
int numCol=(mostraNovoLivro.getRowCount());
System.out.println("a tabela tem "+numCol+" linhas");
mostraNovoLivro.insertRow(dados);
jTablelivroscomusuario.getTableHeader().resizeAndRepaint();
//JOptionPane.showMessageDialog(null,"Empréstimo Efetuado com Sucesso");
} catch (Exception insercao) {
insercao.printStackTrace();
}
o Problema é que quando clico no botao o java da erro:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object;
at modeloRegistroLocacao.getValueAt(modeloRegistroLocacao.java:22)
esse erro corresponde a esta linha da primeira listagem:
RegistroLocacao FichaAtual=(RegistroLocacao)modelVetorFichas.get(r);
Eu sei que o erro acontece quando tento usar
fireTableRowsInserted(0, modelVetorFichas.size());
pra atualizar o modelo da tabela.
alguem sabe o que pode estar acontecendo? T+