Omissão do Id do produto na hora de gravar no MySQL

Cordiais saudações.

Estou meio perdido nesta classe (GuiCadForProduto.java). Ela deveria gravar o Id do produto mas este campo fica em branco. Fiz todo tipo de teste com System.out.println para descobrir onde está o problema e de fato percebi que em diversos pedaços do programa o campo não está em branco mas na hora de gravar ele fica em branco misteriosamente. Gostaria de pedir a ajuda do pessoal do Guj para debugar esse programa. Obrigado.

O objeto model Produtos é um registro dos produtos e é passado para a classe em questão. Qualquer dúvida que possa esclarecer o funcionamento da classe é só perguntar, mas tem coisas que eu não sei. Essa classe cria um vinculo entre um produto e seu fornecedor. Segue abaixo o programa da classe:

package view;

import controller.ControllerCadForProduto;
import empresaiv.Util;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
import model.Fornecedores;
import model.ModelCadForProduto;
import model.Produtos;

/**
 *
 * @author Ronaldo R. Godoi
 */
public class GuiCadForProduto extends javax.swing.JFrame {

    ControllerCadForProduto cCFProduto = new ControllerCadForProduto();
    ModelCadForProduto mCFProduto = new ModelCadForProduto();
    ArrayList<Fornecedores> listaModelFornecedor = new ArrayList<>();
    Util util = new Util();
    Date nova_data = new Date();
    DateFormat formatoData = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    
    /**
     * Creates new form GuiCadForProduto
     */
    public GuiCadForProduto(Produtos mProduto) {
        initComponents();
        inicializaProduto(mProduto);
        System.out.println("Id produto: (dois) " + tfId.getText());
        setLocationRelativeTo(null);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable2 = new javax.swing.JTable();
        lbTitulo_cad_for_produto = new javax.swing.JLabel();
        lbId = new javax.swing.JLabel();
        lbId_produto = new javax.swing.JLabel();
        lbId_fornecedor = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        lbData_compra = new javax.swing.JLabel();
        lbData_cadastro = new javax.swing.JLabel();
        tfId = new javax.swing.JTextField();
        tfId_produto = new javax.swing.JTextField();
        tfId_fornecedor = new javax.swing.JTextField();
        tfPreco = new javax.swing.JTextField();
        tfData_compra = new javax.swing.JTextField();
        tfData_cadastro = new javax.swing.JTextField();
        btNovo = new javax.swing.JButton();
        btLocalizar = new javax.swing.JButton();
        btAlterar = new javax.swing.JButton();
        btGravar = new javax.swing.JButton();
        btExcluir = new javax.swing.JButton();
        btCancelar = new javax.swing.JButton();
        btFechar = new javax.swing.JButton();
        lbDescricao_produto = new javax.swing.JLabel();
        lbNome_razao_fornecedor = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable3 = new javax.swing.JTable();
        jLabel1 = new javax.swing.JLabel();
        lbNomeFornecedor = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        lbNomeProduto = new javax.swing.JLabel();

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        jTable2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(jTable2);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        lbTitulo_cad_for_produto.setText("Cadastro de Fornecedores deste Produto");

        lbId.setText("Codigo de Cadastro:  ");

        lbId_produto.setText("Código de Produto: ");

        lbId_fornecedor.setText("Código de Fornecedor: ");

        jLabel5.setText("Preço Praticado pelo Fornecedor: ");

        lbData_compra.setText("Data da Compra: ");

        lbData_cadastro.setText("Data de Cadastro neste Produto: ");

        tfId.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tfIdActionPerformed(evt);
            }
        });
        tfId.setEditable(false);

        tfId_produto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tfId_produtoActionPerformed(evt);
            }
        });
        tfId_produto.setEditable(false);

        btNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/novo.gif"))); // NOI18N
        btNovo.setText("Novo");
        btNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btNovoActionPerformed(evt);
            }
        });

        btLocalizar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/localizar.png"))); // NOI18N
        btLocalizar.setText("Localizar");

        btAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/alterar.gif"))); // NOI18N
        btAlterar.setText("Alterar");
        btAlterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btAlterarActionPerformed(evt);
            }
        });

        btGravar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/gravar.gif"))); // NOI18N
        btGravar.setText("Gravar");
        btGravar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btGravarActionPerformed(evt);
            }
        });

        btExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/excluir.gif"))); // NOI18N
        btExcluir.setText("Excluir");

        btCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/cancelar.gif"))); // NOI18N
        btCancelar.setText("Cancelar");

        btFechar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/sair.png"))); // NOI18N
        btFechar.setText("Sair");
        btFechar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btFecharActionPerformed(evt);
            }
        });

        lbDescricao_produto.setText("Produto: ");

        lbNome_razao_fornecedor.setText("Fornecedor: ");

        jTable3.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Codigo Fornecedor", "Nome ou Razão", "Telefone", "Cidade", "Estado"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane3.setViewportView(jTable3);

        jLabel1.setText("Tabela de Fornecedores deste Produto:");

        jLabel2.setText("jLabel2");

        jLabel3.setText("jLabel3");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(btNovo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btLocalizar)
                        .addGap(9, 9, 9)
                        .addComponent(btGravar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btAlterar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btExcluir)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btCancelar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btFechar, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(19, 19, 19)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(tfPreco, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGap(37, 37, 37)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(lbData_compra)
                                            .addComponent(tfData_compra, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addGap(65, 65, 65)
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(tfData_cadastro, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(lbData_cadastro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(layout.createSequentialGroup()
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                                        .addComponent(tfId, javax.swing.GroupLayout.Alignment.LEADING)
                                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                                                .addComponent(lbId_produto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                .addComponent(tfId_produto))
                                                            .addComponent(lbDescricao_produto)))
                                                    .addComponent(lbId)
                                                    .addComponent(lbTitulo_cad_for_produto))
                                                .addGap(85, 85, 85))
                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                                .addComponent(lbNomeProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 266, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)))
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jLabel2)
                                            .addComponent(jLabel3)
                                            .addGroup(layout.createSequentialGroup()
                                                .addGap(48, 48, 48)
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                                    .addComponent(lbNome_razao_fornecedor)
                                                    .addComponent(lbId_fornecedor)
                                                    .addComponent(tfId_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addComponent(lbNomeFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 314, javax.swing.GroupLayout.PREFERRED_SIZE)))))))
                            .addGroup(layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 663, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 17, Short.MAX_VALUE)))
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addComponent(lbTitulo_cad_for_produto, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(lbId)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(tfId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(24, 24, 24)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbId_produto)
                    .addComponent(lbId_fornecedor))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(tfId_produto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(tfId_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbDescricao_produto)
                    .addComponent(lbNome_razao_fornecedor))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lbNomeFornecedor, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lbNomeProduto, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jLabel5)
                                .addComponent(lbData_compra)
                                .addComponent(lbData_cadastro))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(tfPreco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(tfData_compra, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(tfData_cadastro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(25, 25, 25)
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(btNovo)
                                .addComponent(btLocalizar)
                                .addComponent(btAlterar)
                                .addComponent(btExcluir)
                                .addComponent(btCancelar)
                                .addComponent(btFechar)
                                .addComponent(btGravar))
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                            .addGap(314, 314, 314)
                            .addComponent(jLabel2)
                            .addGap(18, 18, 18)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGap(325, 325, 325)
                        .addComponent(jLabel3)
                        .addGap(18, 18, 18))))
        );

        pack();
    }// </editor-fold>                        

    private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {                                       
        tfId_fornecedor.requestFocus();
        tfId_fornecedor.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
              // TODO...
            }
        });
    }                                      

    private void btFecharActionPerformed(java.awt.event.ActionEvent evt) {                                         
        dispose();
    }                                        

    private void btGravarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.out.println("Id produto: três " + this.tfId_produto.getText());
        mCFProduto.setId_produto(this.tfId_produto.getText());
        mCFProduto.setId_fornecedor(this.tfId_fornecedor.getText());
        mCFProduto.setPreco(util.spaceToDouble(this.tfPreco.getText()));
        mCFProduto.setData_compra(this.tfData_compra.getText());
        mCFProduto.setData_cadastro(this.tfData_cadastro.getText());
        if(cCFProduto.salvarCadForProdutoController(mCFProduto) > 0) {
            JOptionPane.showMessageDialog(this, "Registro salvo com sucesso!", "Atenção", JOptionPane.WARNING_MESSAGE);
            //carregar os fornecedores na tabela.
        } else {
            JOptionPane.showMessageDialog(this, "Erro ao salvar fornecedor!", "ERRO", JOptionPane.ERROR_MESSAGE);
        }
    }                                        

   // private void listaFornecedor() {
   //     listaModelFornecedor = cCFProduto.getListaCadForProdutoController();
   // }
    
    private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        mCFProduto.setId_produto(this.tfId_produto.getText());
        mCFProduto.setId_fornecedor(this.tfId_fornecedor.getText());
        mCFProduto.setPreco(util.spaceToDouble(this.tfPreco.getText()));
        mCFProduto.setData_compra(this.tfData_compra.getText());
        mCFProduto.setData_cadastro(this.tfData_cadastro.getText());
        if(cCFProduto.atualizarCadForProdutoController(mCFProduto)) {
            JOptionPane.showMessageDialog(this, "Registro salvo com sucesso!");
            //carregar os fornecedores na tabela.
        } else {
            JOptionPane.showMessageDialog(this, "Erro ao salvar fornecedor!", "ERRO", JOptionPane.ERROR_MESSAGE);
        }
    }                                         

    private void tfIdActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
    }                                    

    private void tfId_produtoActionPerformed(java.awt.event.ActionEvent evt) {                                             

    }                                            

   

    // Variables declaration - do not modify                     
    private javax.swing.JButton btAlterar;
    private javax.swing.JButton btCancelar;
    private javax.swing.JButton btExcluir;
    private javax.swing.JButton btFechar;
    private javax.swing.JButton btGravar;
    private javax.swing.JButton btLocalizar;
    private javax.swing.JButton btNovo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JTable jTable1;
    private javax.swing.JTable jTable2;
    private javax.swing.JTable jTable3;
    private javax.swing.JLabel lbData_cadastro;
    private javax.swing.JLabel lbData_compra;
    private javax.swing.JLabel lbDescricao_produto;
    private javax.swing.JLabel lbId;
    private javax.swing.JLabel lbId_fornecedor;
    private javax.swing.JLabel lbId_produto;
    private javax.swing.JLabel lbNomeFornecedor;
    private javax.swing.JLabel lbNomeProduto;
    private javax.swing.JLabel lbNome_razao_fornecedor;
    private javax.swing.JLabel lbTitulo_cad_for_produto;
    private javax.swing.JTextField tfData_cadastro;
    private javax.swing.JTextField tfData_compra;
    private javax.swing.JTextField tfId;
    private javax.swing.JTextField tfId_fornecedor;
    private javax.swing.JTextField tfId_produto;
    private javax.swing.JTextField tfPreco;
    // End of variables declaration                   
    
    private void inicializaProduto(Produtos mProduto) {
        System.out.println("Id produto: quatro " + mProduto.getId());
        tfId.setText(mProduto.getId());
        tfData_cadastro.setText(formatoData.format(nova_data.getTime()));
        tfData_compra.setText(mProduto.getData_cadastro());
        lbNomeProduto.setText(mProduto.getDescricao());
        tfPreco.setText(mProduto.getPreco_ultima_compra().toString());
    }
}

Se for preciso a classe DAO eu mando depois, o site do Guj não permite mandar agora pois fica muito grande o arquivo.

Agradeço antecipadamente,
Ronaldo

Oi novamente,

Analisei aqui o seguinte código:
1- Você inicia o método para preencher seus componentes vindo dos getters da classe Produtos objeto mProduto:

inicializaProduto(mProduto);

2 - Seu método ‘inicializaProduto’ está recebendo como parâmetro o ‘Produto mProduto’ e tem como intuito enviar para os componentes os valores recebidos dos getters de mProduto:

    private void inicializaProduto(Produtos mProduto) {
        System.out.println("Id produto: quatro " + mProduto.getId());
        tfId.setText(mProduto.getId());
        tfData_cadastro.setText(formatoData.format(nova_data.getTime()));
        tfData_compra.setText(mProduto.getData_cadastro());
        lbNomeProduto.setText(mProduto.getDescricao());
        tfPreco.setText(mProduto.getPreco_ultima_compra().toString());
    }

3 - Só que em seu botão GRAVAR você está enviando as informações de seu produto para os setters da classe ModelCadForProduto objeto mCFProduto:

private void btGravarActionPerformed(java.awt.event.ActionEvent evt) {                                         
    System.out.println("Id produto: três " + this.tfId_produto.getText());
    mCFProduto.setId_produto(this.tfId_produto.getText());
    mCFProduto.setId_fornecedor(this.tfId_fornecedor.getText());
    mCFProduto.setPreco(util.spaceToDouble(this.tfPreco.getText()));
    mCFProduto.setData_compra(this.tfData_compra.getText());
    mCFProduto.setData_cadastro(this.tfData_cadastro.getText());
    if(cCFProduto.salvarCadForProdutoController(mCFProduto) > 0) {
        JOptionPane.showMessageDialog(this, "Registro salvo com sucesso!", "Atenção", JOptionPane.WARNING_MESSAGE);
        //carregar os fornecedores na tabela.
    } else {
        JOptionPane.showMessageDialog(this, "Erro ao salvar fornecedor!", "ERRO", JOptionPane.ERROR_MESSAGE);
    }
}

Para ficar mais claro, nesse código que vc enviou tu não setou em nenhum momento os atributos de mProduto, e nem instanciou algum método que fizesse com que este fosse setado (tipo, instanciar seu DAO), pelo contrário só solicitou eles (seus getters).
Da uma olhada aí, qualquer coisa estou a disposição.

1 curtida

Os atributos de mProduto, que é um tipo de registro de um item de produtos do sistema, são settados quando a classe de cima (GuiCadastroProdutos.java) passa eles como parâmetro para GuiCadForProduto.java.

Em algum lugar o campo tfId_produto é zerado, não sei como, nem porque.

O ID do produto não deveria ser setado no tfId_produto?

1 curtida

@staroski é o que expliquei acima.

Ele seta no tfId o mProduto.getID , mas não mostra de onde o mProduto.setID está vindo.

Os atributos de mProduto, que é um tipo de registro de um item de produtos do sistema, são settados quando a classe de cima (GuiCadastroProdutos.java) passa eles como parâmetro para GuiCadForProduto.java.

Você passa eles como parâmetro mas não atribuir valor algum para seus setters.

1 curtida