protected void salvar() {
    Produto p = new Produto();
    CategoriaDaoImp cdao = new CategoriaDaoImp();
    int cat = 0;

    if (!txtid.getText().equals("")) p.setId(Integer.valueOf(txtid.getText()));
    else p.setId(0);
    categoria = combocategoria.getSelectedItem();
    for (Categoria c : cdao.listar()) {
      if (c.getCategoria().equals(categoria)) cat = c.getId();
    }
    p.setCategoria(cat);
    p.setNome(txtnome.getText());
    p.setCodigodebarras(Integer.valueOf(txtcodigobarra.getText()));
    p.setDescricao(txtdescricao.getText());
    p.setUnidade(Unidade.valueOf(combounidade.getSelectedItem().toString()));
    p.setCusto(BigDecimal.valueOf(Double.valueOf(txtcusto.getText().replace(",", "."))));
    p.setMargemdelucro(
        BigDecimal.valueOf(Double.valueOf(txtmargemlucro.getText().replace(",", "."))));

    if (p.getId() == 0) {
      pdao.inserir(p);
      JOptionPane.showMessageDialog(null, "Item Cadastrado com Sucesso!");
      table.setModel(new ModelProduto());
    } else {
      pdao.atualizar(p);
      JOptionPane.showMessageDialog(null, "Item Editado com Sucesso!");
      table.setModel(new ModelProduto());
    }

    this.repaint();
    cancelar();
  }
  protected void excluirProduto() {
    Produto p = new Produto();
    ProdutoDaoImp pdao = new ProdutoDaoImp();

    p.setId(Integer.valueOf(txtid.getText()));
    pdao.excluir(p);
    JOptionPane.showMessageDialog(null, "Item Excluido com Sucesso!");
    table.setModel(new ModelProduto());
    cancelar();
  }
  protected void editar() {
    ProdutoDaoImp pdao = new ProdutoDaoImp();
    int linha = table.getSelectedRow();
    CategoriaDaoImp cdao = new CategoriaDaoImp();
    ArrayList<Categoria> c = (ArrayList<Categoria>) cdao.listar();
    ArrayList<Produto> p = (ArrayList<Produto>) pdao.listar();

    txtid.setText(String.valueOf(p.get(linha).getId()));
    txtnome.setText(p.get(linha).getNome());
    txtcodigobarra.setText(String.valueOf(p.get(linha).getCodigodebarras()));
    txtdescricao.setText(p.get(linha).getDescricao());
    txtcusto.setText(String.valueOf(p.get(linha).getCusto()));
    txtmargemlucro.setText(String.valueOf(p.get(linha).getMargemdelucro()));

    for (Categoria categoria : cdao.listar()) {
      if (p.get(linha).getCategoria() == categoria.getId())
        combocategoria.setSelectedItem(categoria.getCategoria());
    }
    combounidade.setSelectedItem(p.get(linha).getUnidade());
    model.fireTableDataChanged();
  }