public void buscarCompra() {
    produtoDaCompra = new ProdutosDaCompra();
    // cria a tela de busca como modal
    FramePesquisaCompra tela_busca = new FramePesquisaCompra();
    tela_busca.setModal(true);
    // exibe
    tela_busca.setVisible(true);
    // recupera os dados
    Compra comp = new Compra();
    comp = tela_busca.retornaCompra();
    // seta na tela
    if (comp != null) {
      limpaCampos();
      limpaTabela();
      jbtAlterar.setVisible(true);
      jbtExcluir.setVisible(true);
      jbtExcluirProduto.setVisible(true);
      jbtFinalizarCompra.setVisible(false);

      this.compra.setCodigo(comp.getCodigo());
      this.compra.setDataCompra(comp.getDataCompra());
      this.compra.setFornecedor(comp.getFornecedor());
      this.compra.setColaborador(comp.getColaborador());
      this.compra.setValorCompra(comp.getValorCompra());
      produtoDaCompra.setCompra(comp);

      jtfCodigo.setText(String.valueOf(compra.getCodigo()));
      jdcDataCompra.setDate(compra.getDataCompra());
      jtfFornecedor.setText(compra.getFornecedor().getPessoa().getNome());
      jtfColaborador.setText(compra.getColaborador().getPessoa().getNome());

      produtosDaCompra = produtoDaCompraDao.buscarPorCompra(this.compra);

      int linha = 0;
      for (ProdutosDaCompra prods : produtosDaCompra) {
        jtbProdutosCompra.getModel().setValueAt(prods.getProduto().getCodigo(), linha, 0);
        jtbProdutosCompra.getModel().setValueAt(prods.getProduto().getDescricao(), linha, 1);
        jtbProdutosCompra.getModel().setValueAt(prods.getQuantidade(), linha, 2);
        jtbProdutosCompra.getModel().setValueAt(prods.getValorUnitario(), linha, 3);
        jtbProdutosCompra.getModel().setValueAt(prods.getValorTotal(), linha, 4);
        linha++;
        inserirLinha();
      }
      jtfValorCompra.setText(String.valueOf(this.compra.getValorCompra()));
    }
  }
 private void limpaTabela() {
   ((DefaultTableModel) jtbProdutosCompra.getModel()).setNumRows(0);
   jtbProdutosCompra.updateUI();
   inserirLinha();
 }
 private void inserirLinha() {
   int linha = jtbProdutosCompra.getSelectedRow();
   ((DefaultTableModel) jtbProdutosCompra.getModel()).addRow(new Vector());
   int coluna = -1;
   jtbProdutosCompra.changeSelection(linha, coluna, false, false);
 }