Problemas em atualizar uma JTable num JFrame com dados provenientes de outro JFrame

Olá, como vão?

Estou tendo problemas em inserir dados na JTable2 que está na TelaInicial, com dados provenientes da TelaCadastro.

O problema é quando insiro os dados na TelaCadastro e clico no botão Cadastrar, esses dados não são inseridos na JTable2 na TelaInicial.

Alguém consegue me ajudar?

Ao invés de postar fotos, posta o fonte das suas classes e formata elas usando o botão </>.

E como você está fazendo para a TelaCadastro trocar mensagens com a TelaInicial?

Opa staroski! Bom?

Através do ActionPerformed do botão cadastrar.

To seguindo alguns modelos que o curso forneceu, mas não está indo de forma alguma. Os dados não aparecem na JTable da TelaInicial

 public void adicionarConsulta(Consulta consulta) {                 
        DefaultTableModel dtmConsulta = (DefaultTableModel) jTConsultas.getModel();
        Object[] dados = {consulta};
        dtmConsulta.addRow(dados);
    }

Na TelaCadastro onde eu pego os dados da consulta, no ActionPerformed do botão eu fiz o seguinte código:

private void btnCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        Consulta consulta = new Consulta(
            campoNome.getText(),
            campoCPF.getText(),
            campoTelefone.getText(),
            campoData.getText()
        );
        TelaInicial telaInicial = new TelaInicial();
        telaInicial.adicionarConsulta(consulta);
        dispose();
    }

Na TelaInicial criei o seguinte método para pegar os dados da TelaCadastro e jogar na tabela:

public void adicionarConsulta(Consulta consulta) { 
        consultas.add(consulta);
        DefaultTableModel dtmConsulta = (DefaultTableModel) jTConsultas.getModel();
        Object[] dados = {consulta};
        dtmConsulta.addRow(dados);
        
    }

Está errado, você está criando um novo objeto da TelaInicial tem que usar o mesmo objeto que criou a TelaCadastro.
Provavelmente o mais fácil e você passar o objeto da TelaInicial por parâmetro no construtor da TelaCadastro.

1 curtida