Inserção de um mesmo objeto em jTables diferentes

Olá pessoal,

Estou trabalhando em um aplicação que preciso fazer lançamentos de faturas ao longo do mês. Estes lançamentos vão sendo guardados num JTable, e conforme vão sendo inseridos lançamentos de uma mesma seguradora, ele deve “resumir” isso, ou seja, juntar os lançamentos iguais e somar seus valores! O que acontece é que tenho um table para todos os lançamentos e outra para os resumidos.
Minha lógica está assim:

Botao adicionar:

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { if (dia.getText().isEmpty() || seguradora.getSelectedIndex() == 0 || comissao.getText().isEmpty() || banco.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Os campos marcados com * sao obrigatorios!", "Atencao", JOptionPane.WARNING_MESSAGE); } else { codigo++; Lancamento ob = new Lancamento(); ob.setIdlanc(codigo); ob.setDia(dia.getText()); ob.setSeguradora(seguradora.getSelectedItem().toString()); ob.setComissao(comissao.getText()); ob.setIrrf(irrf.getText()); ob.setBanco(banco.getText()); inserirLancamentos(ob);//Insere na tabela de lancamentos inserirResumidos(ob);//Insere na tabela Resumidos ajustarColunas(); limparCampos(); dia.requestFocus(); } }

O problema é que depois que ele verifica se o lancamento ja existe e junta com o existente, ele coloca esse objeto “Ob”, na tabela Lancamentos tbm! Estou usando modelos que eu mesmo fiz em ambas tabelas, nenhum objeto destes é static! O que pode estar acontecendo?
Obs.: não sei se fui claro

[quote=mt_thesame]Olá pessoal,

Estou trabalhando em um aplicação que preciso fazer lançamentos de faturas ao longo do mês. Estes lançamentos vão sendo guardados num JTable, e conforme vão sendo inseridos lançamentos de uma mesma seguradora, ele deve “resumir” isso, ou seja, juntar os lançamentos iguais e somar seus valores! O que acontece é que tenho um table para todos os lançamentos e outra para os resumidos.
Minha lógica está assim:

Botao adicionar:

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { if (dia.getText().isEmpty() || seguradora.getSelectedIndex() == 0 || comissao.getText().isEmpty() || banco.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Os campos marcados com * sao obrigatorios!", "Atencao", JOptionPane.WARNING_MESSAGE); } else { codigo++; Lancamento ob = new Lancamento(); ob.setIdlanc(codigo); ob.setDia(dia.getText()); ob.setSeguradora(seguradora.getSelectedItem().toString()); ob.setComissao(comissao.getText()); ob.setIrrf(irrf.getText()); ob.setBanco(banco.getText()); inserirLancamentos(ob);//Insere na tabela de lancamentos inserirResumidos(ob);//Insere na tabela Resumidos ajustarColunas(); limparCampos(); dia.requestFocus(); } }

O problema é que depois que ele verifica se o lancamento ja existe e junta com o existente, ele coloca esse objeto “Ob”, na tabela Lancamentos tbm! Estou usando modelos que eu mesmo fiz em ambas tabelas, nenhum objeto destes é static! O que pode estar acontecendo?
Obs.: não sei se fui claro[/quote]

Bom dia, em que momento você faz a verficação se o lançamento existe?

Diego, valew pela resposta!
Faço na hora de inserir o objeto no modelo da tabela Resumidos:

public void addRow(Lancamento l) { boolean resumiu = false; System.out.println("Resum: "+l.getSeguradora()+" - "+l.getBanco()); for (int i = 0; i < this.resum.size(); i++) { if (l.getSeguradora().equals(this.resum.get(i).getSeguradora())) { l.setComissao(l.getComissao() + this.resum.get(i).getComissao()); l.setIrrf(l.getIrrf() + this.resum.get(i).getIrrf()); l.setBanco(l.getBanco() + this.resum.get(i).getBanco()); this.resum.set(i, l); resumiu = true; break; } } System.out.println("Resum: "+l.getSeguradora()+" - "+l.getBanco()); if (!resumiu) { this.resum.add(l); int linha = resum.size() - 1; fireTableRowsInserted(linha, linha); } }
O que esta me deixando loco, é que cada JTable usa seu proprio Model, não era pra isso acontecer! E verifico no modelo de resumidos, como que o Modelo de Lancamentos (que é outro model), pega isso?? não dá pra entender!!!

Você passa o mesmo objeto para a mesma classe que faz a mesma verificação no mesmo objeto passado. Cria 2 métodos distintos para cada ação. Aí sim irá salvar da forma que você quer.

Na verdade, eu já fiz isso! Olha la no botão onde add nas tabelas, que eu crio o objeto, adiciono o conteudo nele e passo para os métodos responsáveis em adicionar no modelo, que sao estes:

inserirLancamentos(ob);//Insere na tabela de lancamentos
inserirResumidos(ob);//Insere na tabela Resumidos

ai no modelo de lancamentos, apenas adiciono no ArrayList, e no modelo de resumidos, faço a verificação antes de adicionar!

Na verdade, eu já fiz isso! Olha la no botão onde add nas tabelas, que eu crio o objeto, adiciono o conteudo nele e passo para os métodos responsáveis em adicionar no modelo, que sao estes:

inserirLancamentos(ob);//Insere na tabela de lancamentos
inserirResumidos(ob);//Insere na tabela Resumidos

ai no modelo de lancamentos, apenas adiciono no ArrayList, e no modelo de resumidos, faço a verificação antes de adicionar![/quote]

posta esses 2 métodos aí também, para dar uma olhada.

[code]private void inserirLancamentos(Lancamento ob) {
lcr.lm.addRow(ob);//“lcr” é um objeto de uma classe que está controlando os dados, como se fosse um CRUD
tLanc.setModel(lcr.lm);
}

private void inserirResumidos(Lancamento ob) {
    lcr.rm.addRow(ob);
    tResum.setModel(lcr.rm);
}[/code]

Eu estava fazendo isso dentro do botao, resolvi separar assim, pq pensei que fosse este o problema!