ArrayList sobrepõe os valores anteriores

Estou programando com java a pouco tempo, estou na parte de adicionar ao carinho os produtos que foram selecionados, e quero que esses produtos sejam mostrados em uma tabela. mas quando eu adiciono mais de um produto ele sobrepõe o anterior pelo ultimo que eu selecionei.
Alguém sabe como eu resolvo isso?

**Nome das classes **

public class JanelaVendas extends javax.swing.JFrame {

VendaDao vDao = new VendaDao();
ProdutoDao pDao = new ProdutoDao();
Produto p = new Produto();
Vendas v = new Vendas();
Cliente c = new Cliente();
Animal a = new Animal();
Servico s = new Servico();
DecimalFormat real = new DecimalFormat("0.00");
int o = 0;
ArrayList<Produto> listaProdutos = new ArrayList();
ArrayList<DetalhesVendasP> ListaVendas = new ArrayList<>();
DetalhesVendasP dvp = new DetalhesVendasP();

public JanelaVendas(Produto p) {
    initComponents();
    this.p = p;
}

JanelaVendas(Vendas v) {
    initComponents();
    this.v = v;

}

JanelaVendas(Cliente c) {
    initComponents();
    this.c = c;
}

JanelaVendas(Animal a) {
    initComponents();
    this.a = a;
}

JanelaVendas(Servico s) {
    initComponents();
    this.s = s;
}
JanelaVendas(DetalhesVendasP dvp) {
    initComponents();
    this.dvp = dvp;
}

ArrayList listaProdutos = new ArrayList();
ArrayList ListaVendas = new ArrayList<>();
DetalhesVendasP dvp = new DetalhesVendasP();

Botao adcionar ao carinho:

    int qtde = Integer.parseInt(campoQuantidade.getText()),
    id = Integer.parseInt(campoIDProduto.getText());
    Double valor = Double.parseDouble(campoValor.getText().replace(".", "").replace(",", ".")),
    valorTotal = valor * qtde;
    String produto = campoProduto.getText();

    dvp=null;
    dvp.setIdProduto(id);
    dvp.setProduto(produto);
    dvp.setQuantidade(qtde);
    dvp.setValorProduto(valor);
    dvp.setValorTotalProduto(valorTotal);
    ListaVendas.add(dvp);

    carregaTabela1();

Funçao que carrega a tabela

public void carregaTabela1() {

    DefaultTableModel tabelaModel = (DefaultTableModel) tabela.getModel();
    tabelaModel.setNumRows(0);

    for (int i = 0; i < ListaVendas.size(); i++) {

        tabelaModel.addRow(new Object[]{
            ListaVendas.get(i).getIdProduto(),
            ListaVendas.get(i).getProduto(),
            ListaVendas.get(i).getQuantidade(),
            ListaVendas.get(i).getValorProduto(),
            ListaVendas.get(i).getValorTotalProduto()

        });

    }
}

Posta o seu código completo e atualizado, pois o código acima nem vai executar, afinal o que acontece quando você tenta invocar um método em um objeto null? :wink:

public class JanelaVendas extends javax.swing.JFrame {

VendaDao vDao = new VendaDao();
ProdutoDao pDao = new ProdutoDao();
Produto p = new Produto();
Vendas v = new Vendas();
Cliente c = new Cliente();
Animal a = new Animal();
Servico s = new Servico();
DecimalFormat real = new DecimalFormat("0.00");
int o = 0;
ArrayList<Produto> listaProdutos = new ArrayList();
ArrayList<DetalhesVendasP> ListaVendas = new ArrayList<>();
DetalhesVendasP dvp = new DetalhesVendasP();

public JanelaVendas(Produto p) {
    initComponents();
    this.p = p;
}

JanelaVendas(Vendas v) {
    initComponents();
    this.v = v;

}

JanelaVendas(Cliente c) {
    initComponents();
    this.c = c;
}

JanelaVendas(Animal a) {
    initComponents();
    this.a = a;
}

JanelaVendas(Servico s) {
    initComponents();
    this.s = s;
}
JanelaVendas(DetalhesVendasP dvp) {
    initComponents();
    this.dvp = dvp;
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jLayeredPane1 = new javax.swing.JLayeredPane();
    jPanel2 = new javax.swing.JPanel();
    jButton2 = new javax.swing.JButton();
    labelID = new javax.swing.JLabel();
    campoProduto = new javax.swing.JTextField();
    labelQuantidade = new javax.swing.JLabel();
    campoValor = new JMoneyField();
    labelProduto = new javax.swing.JLabel();
    jLabel1 = new javax.swing.JLabel();
    jButton1 = new javax.swing.JButton();
    jScrollPane1 = new javax.swing.JScrollPane();
    tabela = new javax.swing.JTable();
    jLabel5 = new javax.swing.JLabel();
    campoQuantidade = new javax.swing.JTextField();
    campoIDProduto = new javax.swing.JTextField();
    jComboBox1 = new javax.swing.JComboBox<>();
    jLabel2 = new javax.swing.JLabel();
    jLabel7 = new javax.swing.JLabel();
    campoCliente = new javax.swing.JTextField();
    jButton4 = new javax.swing.JButton();
    jLabel8 = new javax.swing.JLabel();
    jTextField2 = new JMoneyField();
    jPanel1 = new javax.swing.JPanel();
    jButton3 = new javax.swing.JButton();
    botaoEscolha = new javax.swing.JButton();
    botaoEspecie = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

    jLayeredPane1.setBackground(new java.awt.Color(255, 255, 255));

    jPanel2.setBackground(new java.awt.Color(255, 255, 255));

    jButton2.setText("...");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton2ActionPerformed(evt);
        }
    });

    labelID.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    labelID.setText("ID Produto:");

    campoProduto.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    campoProduto.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            campoProdutoActionPerformed(evt);
        }
    });

    labelQuantidade.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    labelQuantidade.setText("Quantidade:");

    campoValor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    campoValor.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            campoValorActionPerformed(evt);
        }
    });

    labelProduto.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    labelProduto.setText("Produto:");

    jLabel1.setFont(new java.awt.Font("Palatino Linotype", 1, 36)); // NOI18N
    jLabel1.setForeground(new java.awt.Color(0, 0, 102));
    jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/unimontes/petshop/GUI/Imagens/icone.png"))); // NOI18N
    jLabel1.setText("CrowBlue Pet Shop");

    jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jButton1.setText("Adicionar ao Carinho");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

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

        },
        new String [] {
            "Id Produto", "Produto", "Quantidade", "Valor Unitario", "Valor Total"
        }
    ) {
        Class[] types = new Class [] {
            java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class, java.lang.Double.class
        };

        public Class getColumnClass(int columnIndex) {
            return types [columnIndex];
        }
    });
    jScrollPane1.setViewportView(tabela);

    jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    jLabel5.setText("Valor:");

    campoQuantidade.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    campoQuantidade.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusLost(java.awt.event.FocusEvent evt) {
            campoQuantidadeFocusLost(evt);
        }
    });
    campoQuantidade.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            campoQuantidadeActionPerformed(evt);
        }
    });

    campoIDProduto.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
    campoIDProduto.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusLost(java.awt.event.FocusEvent evt) {
            campoIDProdutoFocusLost(evt);
        }
    });
    campoIDProduto.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            campoIDProdutoActionPerformed(evt);
        }
    });
    campoIDProduto.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            campoIDProdutoKeyPressed(evt);
        }
    });

    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Dinheiro", "Debito", "Credito" }));
    jComboBox1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jComboBox1ActionPerformed(evt);
        }
    });

    jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    jLabel2.setText("Forma de Pagamento:");

    jLabel7.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    jLabel7.setText("Cliente:");

    campoCliente.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            campoClienteActionPerformed(evt);
        }
    });

    jButton4.setText("...");
    jButton4.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton4ActionPerformed(evt);
        }
    });

    jLabel8.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    jLabel8.setText("Entrada:");

    jTextField2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jTextField2ActionPerformed(evt);
        }
    });

    jButton3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jButton3.setText("Concluir \nVenda");
    jButton3.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton3ActionPerformed(evt);
        }
    });

    botaoEscolha.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    botaoEscolha.setText("Adicionar Serviços");
    botaoEscolha.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            botaoEscolhaActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(botaoEscolha, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGap(38, 38, 38))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
            .addContainerGap(97, Short.MAX_VALUE)
            .addComponent(botaoEscolha)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButton3)
            .addContainerGap())
    );

    botaoEspecie.setText("...");
    botaoEspecie.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            botaoEspecieActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel7)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(campoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jButton4)))
                            .addGap(18, 18, 18)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(jLabel2)
                                .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(28, 28, 28)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel8)))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(labelID)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(campoIDProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jButton2)))
                            .addGap(31, 31, 31)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(labelProduto)
                                .addComponent(campoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(campoQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(labelQuantidade))
                            .addGap(6, 6, 6)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(botaoEspecie, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18)
                                    .addComponent(campoValor, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(jLabel5))))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 432, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(40, 40, 40)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGap(25, 25, 25))))
    );
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addComponent(jLabel1)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(labelID)
                        .addComponent(labelProduto))
                    .addComponent(labelQuantidade, javax.swing.GroupLayout.Alignment.TRAILING))
                .addComponent(jLabel5))
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(campoValor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(campoProduto)
                            .addComponent(campoQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(botaoEspecie, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                        .addComponent(campoIDProduto)
                        .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
                    .addGap(16, 16, 16)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel7)
                        .addComponent(jLabel2)
                        .addComponent(jLabel8))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(campoCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGap(20, 20, 20)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addGap(18, 18, 18)
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
            .addContainerGap(139, Short.MAX_VALUE))
    );

    jLayeredPane1.setLayer(jPanel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

    javax.swing.GroupLayout jLayeredPane1Layout = new javax.swing.GroupLayout(jLayeredPane1);
    jLayeredPane1.setLayout(jLayeredPane1Layout);
    jLayeredPane1Layout.setHorizontalGroup(
        jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    );
    jLayeredPane1Layout.setVerticalGroup(
        jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jLayeredPane1Layout.createSequentialGroup()
            .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(0, 0, Short.MAX_VALUE))
    );

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    );

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

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    if (o < 1) {
        botaoEspecie.setEnabled(false);
        JanelaBuscarProduto jbp = new JanelaBuscarProduto(p, campoIDProduto, campoProduto, campoValor);
        jbp.setLocationRelativeTo(jbp);
        jbp.setVisible(true);
    } else {
        botaoEspecie.setEnabled(true);
        JanelaBuscaServiço jbc = new JanelaBuscaServiço(s, campoIDProduto, campoProduto, campoValor);
        jbc.setLocationRelativeTo(jbc);
        jbc.setVisible(true);
    }
}                                        

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

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

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

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

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    int qtde = Integer.parseInt(campoQuantidade.getText()),
    id = Integer.parseInt(campoIDProduto.getText());
    Double valor = Double.parseDouble(campoValor.getText().replace(".", "").replace(",", ".")),
    valorTotal = valor * qtde;
    String produto = campoProduto.getText();

    dvp=null;
    dvp.setIdProduto(id);
    dvp.setProduto(produto);
    dvp.setQuantidade(qtde);
    dvp.setValorProduto(valor);
    dvp.setValorTotalProduto(valorTotal);
    ListaVendas.add(dvp);

    carregaTabela1();
}                                        

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    if (campoCliente.getText() == "") {
        campoCliente.setText("Venda");

    }

    int quantidade, id_produto, idFuncionario, situaçao, formaPagamento;
    String produto, cliente;
    Double valor, valorTotal, entrada;

    id_produto = Integer.parseInt(campoIDProduto.getText());
    produto = (campoProduto.getText());
    quantidade = Integer.parseInt(campoQuantidade.getText());
    valor = Double.parseDouble(campoValor.getText().replace(".", "").replace(",", "."));

    v.setId_produto(id_produto);
    v.setProduto(produto);
    v.setQuantidade(quantidade);
    v.setValor(valor);

    if (v.getQuantidade() >= quantidade) {
        v.setQuantidade(v.getQuantidade() - quantidade);
        vDao.atualizarQuantidade(v.getQuantidade(), v.getId_produto());

        try {
            vDao.inserirVenda(v);
        } catch (SQLException ex) {
            Logger.getLogger(JanelaVendas.class.getName()).log(Level.SEVERE, null, ex);
        }
        JOptionPane.showMessageDialog(null, "Venda Concluida com sucesso");
    } else {
        JOptionPane.showMessageDialog(null, "Quantidade em estoque insuficiente!!");
    }
}                                        

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

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    JanelaBuscaCliente jbc = new JanelaBuscaCliente(c);
    jbc.setLocationRelativeTo(jbc);
    jbc.setVisible(true);
}                                        

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

private void botaoEscolhaActionPerformed(java.awt.event.ActionEvent evt) {                                             
    o = 1;
    labelID.setText("Id Serviço");
    labelProduto.setText("Serviço");
    labelQuantidade.setText("Especie");

}                                            

private void botaoEspecieActionPerformed(java.awt.event.ActionEvent evt) {                                             
    JanelaBuscarAnimal jba = new JanelaBuscarAnimal(a, campoQuantidade);
    jba.setLocationRelativeTo(jba);
    jba.setVisible(true);
}                                            

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

private void campoIDProdutoKeyPressed(java.awt.event.KeyEvent evt) {                                          

}                                         

private void campoIDProdutoFocusLost(java.awt.event.FocusEvent evt) {                                         

}                                        

private void campoQuantidadeFocusLost(java.awt.event.FocusEvent evt) {                                          
    // TODO add your handling code here:
}                                         
public void carregaTabela1() {

    DefaultTableModel tabelaModel = (DefaultTableModel) tabela.getModel();
    tabelaModel.setNumRows(0);

    for (int i = 0; i < ListaVendas.size(); i++) {

        tabelaModel.addRow(new Object[]{
            ListaVendas.get(i).getIdProduto(),
            ListaVendas.get(i).getProduto(),
            ListaVendas.get(i).getQuantidade(),
            ListaVendas.get(i).getValorProduto(),
            ListaVendas.get(i).getValorTotalProduto()

        });

    }
}

Posta o fonte da classe DetalhesVendasP.

Porque você tem tantos construtores, sendo que cada um recebe um parâmetro diferente?

** Classe DetalhesVendasP**

public class DetalhesVendasP {
private int idDetalhes;
private int idVenda;
private int idProduto;
private String produto;
private int quantidade;
private Double valorProduto;
private Double desconto;
private Double valorTotalProduto;
private String IdFunc;
private String nomeClien;

public DetalhesVendasP() {
}

public DetalhesVendasP(int idDetalhes, int idVenda, int idProduto, String produto, int quantidade, Double valorProduto, Double desconto, Double valorTotalProduto, String IdFunc, String nomeClien) {
    this.idDetalhes = idDetalhes;
    this.idVenda = idVenda;
    this.idProduto = idProduto;
    this.produto = produto;
    this.quantidade = quantidade;
    this.valorProduto = valorProduto;
    this.desconto = desconto;
    this.valorTotalProduto = valorTotalProduto;
    this.IdFunc = IdFunc;
    this.nomeClien = nomeClien;
}

public int getIdDetalhes() {
    return idDetalhes;
}

public void setIdDetalhes(int idDetalhes) {
    this.idDetalhes = idDetalhes;
}

public int getIdVenda() {
    return idVenda;
}

public void setIdVenda(int idVenda) {
    this.idVenda = idVenda;
}

public int getIdProduto() {
    return idProduto;
}

public void setIdProduto(int idProduto) {
    this.idProduto = idProduto;
}

public String getProduto() {
    return produto;
}

public void setProduto(String produto) {
    this.produto = produto;
}

public int getQuantidade() {
    return quantidade;
}

public void setQuantidade(int quantidade) {
    this.quantidade = quantidade;
}

public Double getValorProduto() {
    return valorProduto;
}

public void setValorProduto(Double valorProduto) {
    this.valorProduto = valorProduto;
}

public Double getDesconto() {
    return desconto;
}

public void setDesconto(Double desconto) {
    this.desconto = desconto;
}

public Double getValorTotalProduto() {
    return valorTotalProduto;
}

public void setValorTotalProduto(Double valorTotalProduto) {
    this.valorTotalProduto = valorTotalProduto;
}

public String getIdFunc() {
    return IdFunc;
}

public void setIdFunc(String IdFunc) {
    this.IdFunc = IdFunc;
}

public String getNomeClien() {
    return nomeClien;
}

public void setNomeClien(String nomeClien) {
    this.nomeClien = nomeClien;
}

}

acho melhor para distinguir cada um.