private void jButton3ActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton3ActionPerformed
    // libera a exclusao apenas se o ArrayList não estiver vazio
    if (RepositorioProdutos.listaProdutos.size() > 0) {

      Produto p = produtosTableModel.getProduto(jTableProduto.getSelectedRow());
      if (p != null) {
        // teste
        System.out.print(p);
        int opcao =
            JOptionPane.showConfirmDialog(
                this, p.getNome(), "Excluir produto?", JOptionPane.YES_NO_OPTION);

        if (opcao == JOptionPane.YES_OPTION) {
          RepositorioProdutos.removerProdutos(p);
          produtosTableModel.atualizarTabela();

        } else if (opcao == JOptionPane.NO_OPTION) {
          System.out.print("exclusão abortada");
        }
      } else if (p == null) {
        // getSelectedRow retorna -1 quando não esta selecionado
        System.out.print(jTableProduto.getSelectedRow());
        JOptionPane.showMessageDialog(this, "Selecione ou pesquise um produto para excluir");
      }
    } else {
      JOptionPane.showMessageDialog(this, "O sistema não possui produtos cadastrados!");
    }
  } // GEN-LAST:event_jButton3ActionPerformed
  private void jButton1ActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton1ActionPerformed
    // logica para pesquisar produto a partir do jComboBox

    if (RepositorioProdutos.listaProdutos.size() > 0) {

      if (jTPesquisarProduto.getText().length() != 0) {

        // pesquisa por nome
        if (jComboBox1.getSelectedIndex() == 0) {
          Produto p =
              RepositorioProdutos.pesquisarProdutoNome(jTPesquisarProduto.getText().toUpperCase());
          int linhaProduto = produtosTableModel.getLinhaProduto(p);

          if (p != null && linhaProduto != -1) {
            // mensagem
            JOptionPane.showMessageDialog(rootPane, "Produto encontrado!");

            // seliciona a linha do produto pesquisado via codigo
            jTableProduto.setRowSelectionInterval(linhaProduto, linhaProduto);

            // limpa o campo de pesquisa
            jTPesquisarProduto.setText(null);
          } else if (linhaProduto == -1) {
            JOptionPane.showMessageDialog(this, "Produto não cadastrado");
          }
        } else if (jComboBox1.getSelectedIndex() == 1) {
          // pesquisa por código
          Produto p =
              RepositorioProdutos.pesquisarProdutoCod(
                  Integer.parseInt(jTPesquisarProduto.getText()));
          int linhaProduto = produtosTableModel.getLinhaProduto(p);

          if (p != null && linhaProduto != -1) {

            JOptionPane.showMessageDialog(this, "Produto encontrado!");

            // seleciona a linha do produto pesquisado
            jTableProduto.setRowSelectionInterval(linhaProduto, linhaProduto);

            // limpa o campo de pesquisa
            jTPesquisarProduto.setText(null);
          } else if (linhaProduto == -1) {
            // cliente retornou vazio
            JOptionPane.showMessageDialog(this, "Produto não cadastrado");
          }
        }
      } else {
        JOptionPane.showMessageDialog(this, "Campo de pesquisa em branco");
      }
    } else {
      JOptionPane.showMessageDialog(this, "o sistema não possui Produtos cadastrados");
    }
  } // GEN-LAST:event_jButton1ActionPerformed
 private void avisoControleEstoque() {
   Produto p = RepositorioProdutos.controleEstoque(RepositorioProdutos.listaProdutos);
   if (p != null) {
     int linhaProduto = produtosTableModel.getLinhaProduto(p);
     jTableProduto.setRowSelectionInterval(linhaProduto, linhaProduto);
     jTableProduto.setSelectionBackground(Color.RED);
   }
 }
  private void jButton4ActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton4ActionPerformed

    if (RepositorioProdutos.listaProdutos.size() > 0) {

      // pega o produto selecionado ou pesquisado e passa para tela de edição atraves do construtor
      Produto p = produtosTableModel.getProduto(jTableProduto.getSelectedRow());

      if (p != null) {
        if (telaProdutoEditar == null) {
          telaProdutoEditar = new TelaProdutoEditar(p);
        }
        telaProdutoEditar.setVisible(true);
      } else if (p == null) {
        JOptionPane.showMessageDialog(this, "Selecione ou pesquise um prpduto para editar");
      }
    }
  } // GEN-LAST:event_jButton4ActionPerformed
 private void jButton6ActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton6ActionPerformed
   produtosTableModel.atualizarTabela();
 } // GEN-LAST:event_jButton6ActionPerformed