Jtable não apresenta os valores inseridos na linhas

5 respostas
javajtableswing
F

Estou fazendo um estudo em java e desenvolvendo uma aplicação simples de PDV, no caixa da aplicação resolvi fazer uma Tabela receber os produtos selecionados para venda pelo usuário, produtos esses que são selecionados em uma JInternnalFrame, onde eu seleciono a linha da tabela onde constam todos os produtos e pego o id do Produto e passo esse id como parâmetro para minha Jframe principal onde eu fiz um método para retornar as informações daquele produto referido no id e setar numa nova linha da tabela

Método onde eu envio o id do produto para a classe do JFrame

public void enviarProduto() {
    int linha = jtProdutos.getSelectedRow();
    int codigoProduto = (int) jtProdutos.getValueAt(linha, 0);       
    viewCaixa.carregarNaTabela(codigoProduto);
}

Action do botão que chama o método

private void jbEnviarProdutosMouseClicked(java.awt.event.MouseEvent evt) {                                              
    // TODO add your handling code here:
    enviarProduto();
}

Método no Jframe para setar os valores daquele produto na tabela

public void carregarNaTabela(int codigoProduto) {
    modelProdutos = controllerProdutos.retornarProdutoController(codigoProduto);
    DefaultTableModel modelo = (DefaultTableModel) jtProdutosVenda.getModel();
    modelo.addRow(new Object[]{
        modelProdutos.getIdProduto(),
        modelProdutos.getProNome(),
        modelProdutos.getProValor()
    });
}

Como já citei, Verifiquei se os valores estão realmente sendo chamados e eles estão, porém a tabela continua vazia, alguém pode me ajudar?`

5 Respostas

staroski

DefaultTableModel é para conteúdo estático.
Implemente seu próprio TableModel para renderizar uma lista de produtos.

F

Eu criei um abstract table model, mas msm assim após implementar os valores continuam a não aparecer na tabela

staroski

Posta sua implementação

javaflex

DefaultTableModel também é para dados dinâmicos. Aqui tem um exemplo completo:

staroski

OK, mas aí você tem que ficar adicionando e removendo itens do DefaultTableModel, isso é muito custoso.

Criado 20 de março de 2021
Ultima resposta 21 de mar. de 2021
Respostas 5
Participantes 3