Problema em referenciar uma JTable de uma classe em outra classe

Estou iniciando no mundo da programação.

Estou com um problema em Java, crie um programa com um pacote chamado View e dentro desse pacote dois JFrames: “TelaProdutos” e “TelaCadastro”. Em “TelaProdutos” contém apenas uma JTable(jvprodutos) com as seguintes colunas: “Descrição”, “Quantidade” e “Preço”.

Na “TelaCadastro” contém 3 JTextFields, mesmo nomes das colunas do JTable. E um JButton “cadastrar”.

Gostaria de saber como faço para configurar o actionPerformed do Botão “Cadastrar” na “TelaCadastro”, para quando acionado, os dados contidos nos “JTextFields”, sejam inseridos na JTable da “TelaProdutos”.

Eu consigo fazer quando a JTable está na mesma classe que os JTextFields, porém não estou sabendo fazer com eles em classes separadas.

Em resumo, o problema é que não estou sabendo referenciar a JTable de uma classe em outra.

Desde já agradeço a atenção.

Estou assumindo que você não tem nenhum banco de dados e está fazendo tudo em memória.
Os dados dos JTextfields não devem ser inseridos na JTable, eles devem ser setados no seu objeto da classe Produto, se ainda não tem, deveria criar, aí você envia o objeto da classe Produto. para a tela de produtos.

1 curtida

Opa staroski, obrigado pelo retorno.

Isso mesmo meu amigo, não estou trabalhando com banco de dados, criei um Object chamado “dados”, porém não estou sabendo como inserir esses dados na “TelaProdutos”.

Segue o código do actionPerformed do JButton “Cadastrar” da “TelaCadastro”:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Object[] dados = {jvDescricao.getText(),jvQuantidade.getText(),jvPreco.getText()};
    }           

Você criou um array chamado dados.

Primeiro cria uma classe Produto com os atributos descricao, quantidade e preco.

Depois, na TelaProdutos cria um método setProduto(Produto produto).

Então você usa esse método pra enviar o produto pra sua tela e lá você pode referenciar os componentes que precisa.

1 curtida