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

5 respostas
java
A

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?

5 Respostas

staroski

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?

A

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

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

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);
        
    }
staroski

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.

Criado 27 de junho de 2024
Ultima resposta 27 de jun. de 2024
Respostas 5
Participantes 2