Nao consigo atualizar JTable em tempo real (Java)

Boa Noite,

Tenho um form com botão novo ( que abre um novo formulário para insersão de novo dado), e neste formulário tenho um JTable que lista os meus dados já cadastrados.
A ideia é cadastrar o novo dado, o formulario de cadastro fechar, e atualizar em tempo real o formulario que o chamou com o JTable ja atualizado.

Para isso usei interface java implementando um callback(sei que a ideia esta certa pq ja consegui atualizar um combo box), uso uma AbstractTableModel, onde implementei meus metodos.

a funçao que está no form:

private CallbackForm callbackPag(){
        return new CallbackForm<FormaPagamento>(){
             @Override       
             public void fim(FormaPagamento formaPagamento){
                FormaPagamento fp = new FormaPagamento();
                formNovaFormaPagamento.setVisible(false);
                formNovaFormaPagamento = null;// limpando a memoria
               ((FormaPagamentoModel) TbFormaPagamento.getModel()).addFormaPagamento(fp);
            }                
        };
    }

a funçao que implementei no AbstractTableModel :

public void addFormaPagamento(FormaPagamento formaPagamento){
        
        int index = formaPagamentos.indexOf(formaPagamentos);
        fireTableRowsInserted(index, index);
        
    }

estou aprendendo sou estudante do 4 semestre de ads, a tabela nao atualiza, podem me dizer o que esta errado e como corrigir?
Obrigada.

Na segunda linha do método fim(), você está criando um objeto FormaPagamento, e está inserindo ele no tableModel. Não deveria ser o formaPagamento que o fim() recebe como parâmetro?

bom dia não sei se isso vai te ajudar em alguma coisa

sou iniciante em programação mas acredito que por logica é possivel resolver isso.

vou colocar aki o meu código que mostra os valores na minha tabela

Eu fiz assim

// cria a configuração da tabela
DefaultTableModel tmDescontaminação = new DefaultTableModel(null,new String []{“OS”, “N_INMETRO”, “DATA”, “TIPO” } );
List descontaminação;
ListSelectionModel lsmDESCONTAMINADOR;

 // código do botão procurar         
public void listardesontaminador() throws SQLException{ //botao procurar
    DESCONTAMINADOR_DAO dao = new DESCONTAMINADOR_DAO();
    descontaminação = dao.getLista("%" + jTFPESQUISAR.getText() + "%");
    mostrarPesquisa(descontaminação);
}

 //adiciona os valores na tabela
public void mostrarPesquisa(List<DESCONTAMINADOR> descontaminação){
    if(descontaminação.isEmpty()){
       JOptionPane.showMessageDialog(null, "Nenhum contato cadastrado!!!");       
    }else{
        String[] linha = new String[] {null, null, null, null};
        for (int i = 0; i <descontaminação.size(); i++) {
         tmDescontaminação.addRow(linha);
         tmDescontaminação.setValueAt(descontaminação.get(i).getOs(), i, 0);
         tmDescontaminação.setValueAt(descontaminação.get(i).getN_inmetro(), i, 1);
         tmDescontaminação.setValueAt(descontaminação.get(i).getData(), i, 2);
         tmDescontaminação.setValueAt(descontaminação.get(i).getTipo(), i, 3);
        }
                }
}

nas propriedades da minha tabela na guia código eu coloquei o seguinte código pós-inicialização

    >  jTablePesquisar.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lsmDESCONTAMINADOR = jTablePesquisar.getSelectionModel();
    lsmDESCONTAMINADOR.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                jTPesquisarLinhaSelecionada(jTablePesquisar);
            }
        }
    });

acredito que no seu caso vc colocaria no seu botao de salvar após o seu metodo de cadastro o metodo que no meu estaria no botao pesquisar

assim toda vez que vc salvar ele vai executar a pesquisa e te retornar na tabela

só deve ser preciso altera a linha onde esta a minha condição do dao.getlista para que pegue todos os valores do seu bd e nao um valor correspondente a um jtextfield

espero que isso possa te ajudar em algo

Resolvi o problema hoje, estava bem perto da soluçao, vou postar aqui na tentativa de derrepente ajudar alguem.

No form da tabela que contem o Jtable que sera atualizadao com a nova forma de pagamento.

private CallbackForm callbackPag(){
return new CallbackForm(){
@Override
public void fim(FormaPagamento formaPagamento){
formNovaFormaPagamento.setVisible(false);
formNovaFormaPagamento = null;// limpando a memoria
//jogando dentro da variavel o TbModel para ser manipulado
FormaPagamentoModel formaPagamentoModel = (FormaPagamentoModel) TbFormaPagamento.getModel();
formaPagamentoModel.addFormaPagamento(formaPagamento);
formaPagamentoModel.fireTableDataChanged();
}
};
}
a funçao que implementei no AbstractTableModel

public void addFormaPagamento(FormaPagamento formaPagamento){
formaPagamentos.add(formaPagamento);
}

fazendo isso consegui atualizar a tabela em tempo real, obrigada, problema resolvido.