Chamar valores de um Array dentro de uma JTable em outro JFrame

Estou fazendo uma aplicação pra simular um banco, e é necessário emitir extratos das operações feitas, pra quebrar o galho estou imprimindo por mensagem. Porém preciso fazer isso com uma tabela.
Tenho o seguinte código dentro do actionperfo do botão de emitir extrato:

    String extrato = "Data || Hora || Cliente || Conta || Tipo || Operação || Valor \n";
    Iterator ex = ini.extrato.iterator();
   
   while(ex.hasNext()){
       Extrato ext = (Extrato) ex.next();
       extrato += ext.data +" || "+ ext.hora +" || "+ ext.cliente +" || "+ ext.conta +" || "+ ext.tipo
               + " || "+  ext.operacao +" || "+ ext.valorOpe+"\n";
   }
   JOptionPane.showMessageDialog(null, extrato);

Desculpa, mas não entendi direito, vc quer jogar todas essas informações na outra janela qnd abertar um botão?

O meu array está em outro JFrame, e quero fazer a conexão dele e joga-lo dentro da tabela depois de pressionar o botão.

1 curtida

pelo que entendi vc tem dois JFrame, e vc quer pegar as informações que estão em colocar em outra vc poderia criar um array publico e depois colocar dentro de um laço de repetição para acionar na tabela

1 curtida

É isso Manasses. Sempre que o usuário desejar ver o que ele fez até então em outras telas, apareça dentro da tabela. Mas como faço isso exatamente?

Abner, pelo que vi em outros tópicos, ninguém recomenda usar default table, me usando não consegui

1 curtida

Simples… como @Manasses_Eugenio disse, crie um atributo Array publico, assim as outras classes poderão ler seu conteudo.
Ouu…

Quando vc instanciar o objeto da nova JFrame, passe para o metodo construtor o seu Array.

1 curtida

Poxa era algo tão simples e eu quebrando cabeça com isso kkk
Valeu mesmo! :grinning:

Ficou assim:

private void botaoEmitirExtratoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
    Iterator ex = ini.extrato.iterator();
    DefaultTableModel model = (DefaultTableModel) tabelaExtratos.getModel();

    while (ex.hasNext()) {
        Extrato ext = (Extrato) ex.next();
        model.addRow(new Object[]{ext.data, ext.hora, ext.cliente, ext.conta, ext.tipo, ext.operacao, ext.valorOpe});
    }
}
1 curtida

Haaa garotoooo…so tem um porém ai, a comunidade Java diz que não devemos utilizar esta maneira para preencher tabelas(DefaultTableModal).
eu faço desse mesmo jeito que vc implementou, simples e facil ne!!

1 curtida

@Jederson_Andre eu acredito que passando o objeto Array no construtor do JFrame seria a forma correta de fazer isso

1 curtida

Sim, eu uso a Abstract, mas sei lá hahaha, as vezes a pessoa ta usando a Default