quinta-feira, 21 de dezembro de 2017

15º Passo - Apresentação do Projeto Final - NetBeans JAVA - XAMPP MySQL

Sistema para Controle de Pedidos de Fast Foods.






Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.
Blog:https://programacaoorientadaaobjeto.b...
Facebook: https://www.facebook.com/claytonklen
Google+: https://plus.google.com/+ClaytonKlen
Linkedin: https://www.linkedin.com/in/clayton-k...

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo
http://www.fatecmm.edu.br/

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:

14º Passo - Tela Sobre - NetBeans JAVA - XAMPP MySQL

Sistema para Controle de Pedidos de Fast Foods.

Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.
Blog:https://programacaoorientadaaobjeto.b...
Facebook: https://www.facebook.com/claytonklen
Google+: https://plus.google.com/+ClaytonKlen
Linkedin: https://www.linkedin.com/in/clayton-k...

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo
http://www.fatecmm.edu.br/

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:

Aconselho que assistam as vídeo-aulas abaixo.
Segue o Link da vídeo aula 9 a 12 do Professor José de Assis, para maior entendimento sobre a IDE NetBeans, onde ele explica boas práticas, convenção de programação para criar a Classe Tela Principal

Java-MySql Sistema OS  Tela Principal :
Aula 9:                 https://youtu.be/d_XLdYHm0A0
Aula 10:                https://youtu.be/tssvH7u4Fcc
Aula 11:            https://youtu.be/wbmqN-7aHOs
Aula 12:           https://youtu.be/C2LK4CWnFiI

ATENÇÃO !!! ANTES DE DAR INICIO NA IDE NETBEANS CRIAR O BANCO DE DADOS

14º Passo Tela Sobre na IDE NetBeans




Na IDE NetBeans Criar Classe TelaSobre  :

package br.com.lanchonete.telas;

/**
 *
 * @author 0o9iuygtfrdesaq
 */
public class TelaSobre extends javax.swing.JFrame {

    /**
     * Creates new form TelaSobre
     */
    public TelaSobre() {
        initComponents();

    }



Na IDE NetBeans na Classe TelaPrincipal  chamar Nome MenuAjusda :

 private void MenAjuSobActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // chamando a tela sobre
        TelaSobre sobre = new TelaSobre();
        sobre.setVisible(true);
    }                   

13º Passo - "Background" Imagem de Fundo na Tela Principal - NetBeans JAVA - XAMPP MySQL

Sistema para Controle de Pedidos de Fast Foods.


Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:




Na IDE NetBeans Criar Classe background  :

package br.com.lanchonete.telas;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.image.BufferedImage;
import javax.swing.border.Border;

/**
 *
 * @author 0o9iuygtfrdesaq
 */
public class background implements Border{
     private   BufferedImage image ;

    public background(BufferedImage image ) {
        this.image=image;}

    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
    int x0 = x+ (width-image.getWidth())/2;
    int y0 = y+ (height-image.getHeight())/2;
    g.drawImage(image,x0,y0,null); }

    public Insets getBorderInsets(Component c) {
    return new Insets(0,0,0,0);}

    public boolean isBorderOpaque() {
    return true; }

}

Na IDE NetBeans Criar Classe TelaPrincipal :

public class TelaPrincipal extends javax.swing.JFrame {
     // capturando imagem do Pacote imagens
    public InputStream foto = this.getClass().getResourceAsStream("/imagens/fast-foods.jpg");
    public InputStream foto1 = this.getClass().getResourceAsStream("/imagens/fast-foods1.jpg");
    public InputStream foto2 = this.getClass().getResourceAsStream("/imagens/fast-foods2.jpg");
    public InputStream foto3 = this.getClass().getResourceAsStream("/imagens/fast-foods3.jpg");
    public InputStream foto4 = this.getClass().getResourceAsStream("/imagens/fast-foods4.jpg");


// metodo para inserir imagem backgruond
    public void carregarImagem(javax.swing.JDesktopPane jDeskp, InputStream fileImagen) {
        try {
            BufferedImage image = ImageIO.read(fileImagen);
            jDeskp.setBorder(new background(image));
        } catch (Exception e) {
            System.out.println("Imagem não Disponível");
        }
    }


Actions event dos 5 JButtons:

 private void btnFundo1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // Carregar Imagem de Fundo 1
        carregarImagem(desktop, foto);
    }                                         

    private void btnFundo2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // Carregar Imagem de Fundo 2
        carregarImagem(desktop, foto1);
    }                                         

    private void btnFundo3ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // Carregar Imagem de Fundo 3
        carregarImagem(desktop, foto2);
    }                                         

    private void btnFundo4ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // Carregar Imagem de Fundo 4
        carregarImagem(desktop, foto3);
    }                                         

    private void btnFundo5ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // Carregar Imagem de Fundo 5
        carregarImagem(desktop, foto4);
    }                                        


12º Passo - Criar Relatórios e Impressões de Pedidos - NetBeans JAVA - XAMPP MySQL - Jaspersoft Studio

Sistema para Controle de Pedidos de Fast Foods.

Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:

Aconselho que assistam as vídeo-aulas abaixo.
Segue o Link da vídeo aula 29 a 31 do Professor José de Assis, para maior entendimento sobre a IDE NetBeans, onde ele explica boas práticas, convenção de programação para Emitir OS

Observação: As regras de Emissão de OS são diferentes das regras de Pedidos par Fast Foods.

Java-MySql Sistema OS Emitir OS 
Aula 29:            https://youtu.be/ZfaLhHYaz_0
Aula 30:         https://youtu.be/nKHJ5FHdvCo
Aula 31:         https://youtu.be/Hq2YnBWCJsU

ATENÇÃO !!! ANTES DE DAR INICIO NA IDE NETBEANS CRIAR O BANCO DE DADOS


12º Passo Relatórios e Impressões de Pedidos Elaborados Jaspersoft Studio vinculando a IDE NetBeans


Na IDE NetBeans na Classe TelaPrincipal  :


// metodo para imprimir pedido
    private void imprimir_pedido() {
        // imprimrido um pedido
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Pedido ?", "Atenção !!!", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // Emitindo o relatório com o Jaspersoft Studio
            try {
                // usando a classe HashMap para criar um filtro
                HashMap filtro = new HashMap();
                filtro.put("NumeroPedido", Integer.parseInt(txtIdVenda.getText()));
                // usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Pedido.jasper", filtro, conexao);
                // a linha abaixo apresenta o relatótio através do JasperViewr
                JasperViewer.viewReport(print, false);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }


Comando de SQL para a Impressão de Pedido no Jaspersoft Studio:


select * from tbvenda
 inner join tbitensvenda 
 on tbvenda.idvenda = $P{NumeroPedido} 
where tbitensvenda.nomecli = tbvenda.nomecli

and tbitensvenda.tipo = tbvenda.tipo ;



Na IDE NetBeans na Classe TelaPrincipal  :


 // metodo para imprimir pedido Delivery
    private void imprimir_pedido_Delivery() {
        // imprimrido um pedido
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Pedido ?", "Atenção !!!", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // Emitindo o relatório com o Jaspersoft Studio
            try {
                // usando a classe HashMap para criar um filtro
                HashMap filtro = new HashMap();
                filtro.put("NumPedido", Integer.parseInt(txtIdVenda.getText()));
                // usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Delivery.jasper", filtro, conexao);
                // a linha abaixo apresenta o relatótio através do JasperViewr
                JasperViewer.viewReport(print, false);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Atenção Opção Válida Para Delivery ");
            }
        }

    }


Comando de SQL para a Impressão de Pedido Delivery no Jaspersoft Studio:


select * from tbvenda 
inner join tbitensvenda 
on tbitensvenda.nomecli = tbvenda.nomecli
inner join tbclientes 
on tbclientes.nomecli = tbvenda.nomecli
where tbvenda.idvenda =  $P{NumPedido} 
and tbitensvenda.tipo = tbvenda.tipo

and tbvenda.tipo = 'Delivery' ;



Na IDE NetBeans na Classe TelaPrincipal  :


 private void menRelCliActionPerformed(java.awt.event.ActionEvent evt) {                                          
        //Gerando um Relatório de Clientes
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/ClientesLanchonete.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }        




Comando de SQL para a Relatório de Clientes no Jaspersoft Studio:


select * from tbclientes order by nomecli;



Na IDE NetBeans na Classe TelaPrincipal  :



private void menRelFinalizadoActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        //Gerando um Relatório de Pedidos Finalizados
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Finalizado.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }              


Comando de SQL para a Relatório de Pedidos Finalizados no Jaspersoft Studio:


select tbvenda.datavenda as Data,
tbvenda.idvenda as Pedido, 
tbvenda.nomecli as Cliente, 
tbvenda.situacao as Status, 
tbvenda.tipo as Tipo, 
tbvenda.totalvenda as Valor
from tbvenda 

where  tbvenda.situacao = 'Finalizado';



Na IDE NetBeans na Classe TelaPrincipal  :


 private void menRelAbertoActionPerformed(java.awt.event.ActionEvent evt) {                                             
        //Gerando um Relatório de Pedidos Abertos
        int confirma = JOptionPane.showConfirmDialog(null, "Confirma a Impressão deste Relatório ?", "Atenção", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            // imprimindo Relatório de Clientes com o framework JasperStudio
            try {
                // Usando a classe JasperPrint para preparar a impressão do relatório
                JasperPrint print = JasperFillManager.fillReport("C:/reports/MyReports/Aberto.jasper", null, conexao);
                // A linha abaixo exibe o relatório Cliente através da classe JasperViewer
                JasperViewer.viewReport(print, false);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }

    }               



Comando de SQL para a Relatório de Pedidos Abertos no Jaspersoft Studio:


select tbvenda.datavenda as Data,
tbvenda.idvenda as Pedido, 
tbvenda.nomecli as Cliente, 
tbvenda.situacao as Status, 
tbvenda.tipo as Tipo, 
tbvenda.totalvenda as Valor
from tbvenda 

where  tbvenda.situacao = 'Aberto';

quarta-feira, 20 de dezembro de 2017

11º Passo - Criar Pedido Delivery - NetBeans JAVA - XAMPP MySQL

Sistema para Controle de Pedidos de Fast Foods.



Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.

Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo

Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/

Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:

O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:

A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:

Aconselho que assistam as vídeo-aulas abaixo.
Segue o Link da vídeo aula 22 a 28 do Professor José de Assis, para maior entendimento sobre a IDE NetBeans, onde ele explica boas práticas, convenção de programação para Emitir OS

Observação: As regras de Emissão de OS são diferentes das regras de Pedidos par Fast Foods.

Java-MySql Sistema OS Emitir OS :
Aula 22:                https://youtu.be/z_KK-amMTDo
Aula 23:           https://youtu.be/aBIyK14CEys
Aula 24:            https://youtu.be/j8Sr-TQNdks
Aula 25:           https://youtu.be/lg-0LyVymQ8
Aula 26:            https://youtu.be/7-nLTc1Kzkw
Aula 27:         https://youtu.be/cpvbBpMFpNU
Aula 28:         https://youtu.be/ROcPMg4Ie0Q

ATENÇÃO !!! ANTES DE DAR INICIO NA IDE NETBEANS CRIAR O BANCO DE DADOS


11º Passo Pedido Delivery na IDE NetBeans








Na IDE NetBeans Criar Classe PedidoDelivery  :

package br.com.lanchonete.telas;

import br.com.lanchonete.dal.ModuloConexao;
import java.awt.Color;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DateFormat;
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.proteanit.sql.DbUtils;

/**
 *
 * @author 0o9iuygtfrdesaq
 */
public class PedidoDelivery extends javax.swing.JInternalFrame {

    /*
   usando variável de conexao DAL
     */
    Connection conexao = null;
    /*
    Criando variáveis especiais para conexao com o banco de dados
    Prepared Statement e ResultSet são framewoks do pacote java.sql
    servem oara preparar e executar as indtruções SQL
     */
    PreparedStatement pst = null;
    ResultSet rs = null;

    /**
     * Creates new form PedidoDelivery
     */
    public PedidoDelivery() {
        initComponents();
        // adicionar cor no Jframe
        this.getContentPane().setBackground(Color.GREEN);    
        this.setVisible(true);
        conexao = ModuloConexao.conector();
        // Popular JCombobox com nomes dos Funcionário.
        this.populaJComboBox();
        // Iniciar o Jtextbox com valor 0
        txtValorTotalPedido.setText("0.00");
        txtValorAcumulado.setText("0.00");
        txtTroco.setText("0.00");
        txtValorPago.setText("0.00");
        txtQtdEntrada.setText("0");

        // Proteger os componetes de tela contra seleção inesperada pelo Usuário
        // a Linha abaixo Deixar apenas o Campo de Texto Pesquisar Cliente  ablitado    
        txtCliPesquisar.setEditable(true);
        // as  linhas abaixo deixa todoso demais Campos de Texto, Tabelas  e Botões também Desablitado 
        tblClientes.setVisible(false);
        txtLanchePesquisar.setEditable(false);
        tblLanches.setVisible(false);
        txtBebidaPesquisar.setEditable(false);
        tblBebidas.setVisible(false);
        btnAdicionarItem.setEnabled(false);
        btnRemoverItem.setEnabled(false);
        tblItensPedido.setEnabled(false);
    }

    // metodo para pesquisar clientes pelo telefone com filtro 
    private void pesquisar_cliente() {
        String sql = " select idcli as ID, nomecli as Nome, endcli as Endereco, bairrocli as Bairro, cidadecli as Cidade, cpfcli as CPF, nasccli as DataNascimento, telcli as Telefone, emailcli as e_mailcli, celcli as Celular from tbclientes where telcli like ?";
        try {
            pst = conexao.prepareStatement(sql);
            //passando o conteúdo da caixa de pesquisa para o " ? "
            //atenção ao " % " - continuação da String sql
            pst.setString(1, txtCliPesquisar.getText() + "%");
            rs = pst.executeQuery();
            //a linha abaixo usa a biblioteca rs2xml.jar para preencher a tabela
            tblClientes.setModel(DbUtils.resultSetToTableModel(rs));
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);

        }
        /* as linhas abaixo substituem a label lblData pela data atual do sistema ao iniciar o form */
        java.util.Date data = new java.util.Date();
        DateFormat formatador = DateFormat.getDateInstance(DateFormat.DEFAULT);
        lblData.setText(formatador.format(data));
        //Mostrar Hora
        String thora = "" + data.getHours();
        String tminuto = "" + data.getMinutes();
        String tsegundo = "" + data.getSeconds();
        if (Integer.parseInt(tminuto) <= 9) {
            tminuto = "0" + tminuto;
        }
        if (Integer.parseInt(tsegundo) <= 9) {
            tsegundo = "0" + tsegundo;
        }
        txtHora.setText(thora + ":" + tminuto + ":" + tsegundo);
        txtHora.setEditable(false);
        // a linha abaixo ablita a tabela de Clientes para a escolha do cliente
        tblClientes.setVisible(true);

    }

    // metodo para pesquisar lanche com filtro 
    private void pesquisar_lanche() {
        String sql = " select idlanche as ID, nomelanche as Lanche,  valorlanche as Valor, descricaolanche as Descricao, tamanholanche as Tamanho, paolanche as Tipo_Pao from tblanches where nomelanche like ? ";
        try {
            pst = conexao.prepareStatement(sql);
            //passando o conteúdo da caixa de pesquisa para o " ? "
            //atenção ao " % " - continuação da String sql
            pst.setString(1, txtLanchePesquisar.getText() + "%");
            rs = pst.executeQuery();
            //a linha abaixo usa a biblioteca rs2xml.jar para preencher a tabela 
            tblLanches.setModel(DbUtils.resultSetToTableModel(rs));
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        // Ablitar o Botão Adicionar Item no Pedio Após Escolha do Lanche ou Bebida
        btnAdicionarItem.setEnabled(true);
        // a linha abaixo ablita para o usuário escolher o Item da Tabela Lanche
        tblLanches.setVisible(true);
        txtLanchePesquisar.setText(null);
        txtLancheId.setText(null);
        txtBebidaPesquisar.setText(null);
        txtBebidaId.setText(null);
        txtItemEntrada.setText(null);
        txtValorEntrada.setText(null);
        txtQtdEntrada.setText("0");
        txtTotalEntrada.setText(null);
    }

    // metodo para pesquisar bebida com filtro 
    private void pesquisar_bebida() {
        String sql = " select idbebida as ID, nomebebida as Nome, valorbebida as Valor, volumebebida as Volume_Ml from  tbbebidas where nomebebida like ?";
        try {
            pst = conexao.prepareStatement(sql);
            //passando o conteúdo da caixa de pesquisa para o " ? "
            //atenção ao " % " - continuação da String sql
            pst.setString(1, txtBebidaPesquisar.getText() + "%");
            rs = pst.executeQuery();
            //a linha abaixo usa a biblioteca rs2xml.jar para preencher a tabela bebida
            tblBebidas.setModel(DbUtils.resultSetToTableModel(rs));
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        // Ablitar o Botão Adicionar Item no Pedio Após Escolha do Lanche ou Bebida
        btnAdicionarItem.setEnabled(true);
        // a linha abaixo ablita para o usuário escolher o Item da Tabela Bebida
        tblBebidas.setVisible(true);
        txtLanchePesquisar.setText(null);
        txtLancheId.setText(null);
        txtBebidaPesquisar.setText(null);
        txtBebidaId.setText(null);
        txtItemEntrada.setText(null);
        txtValorEntrada.setText(null);
        txtQtdEntrada.setText("0");
        txtTotalEntrada.setText(null);
    }

    // metodo para setar os campos do formulário com os conteudos da tabela clientes
    public void setarcamposcliente() {
        int setar = tblClientes.getSelectedRow();
        txtCliId.setText(tblClientes.getModel().getValueAt(setar, 0).toString());
        txtCliNome.setText(tblClientes.getModel().getValueAt(setar, 1).toString());
        txtCliEndereco.setText(tblClientes.getModel().getValueAt(setar, 2).toString());
        txtCliFone.setText(tblClientes.getModel().getValueAt(setar, 7).toString());
        txtCliCelular.setText(tblClientes.getModel().getValueAt(setar, 9).toString());
        // as  linhas abaixo a Tabelas Cliente Desablitado após seleção
        tblClientes.setVisible(false);
        // linhas abaixo abilitam as Caixas de Texto Pesquisar Lanche e Bebida
        txtLanchePesquisar.setEditable(true);
        txtBebidaPesquisar.setEditable(true);
    }

    // metodo para setar os campos do formulário com os conteudos da tabela lanches
    public void setarcamposlanche() {
        int setar = tblLanches.getSelectedRow();
        txtLancheId.setText(tblLanches.getModel().getValueAt(setar, 0).toString());
        txtItemEntrada.setText(tblLanches.getModel().getValueAt(setar, 1).toString());
        txtValorEntrada.setText(tblLanches.getModel().getValueAt(setar, 2).toString().replace(",", "."));
        txtIdItemEntrada.setText(tblLanches.getModel().getValueAt(setar, 0).toString());
        // as  linhas abaixo a Tabelas Lanche Desablitado  apos seleção
        tblLanches.setVisible(false);
        // linhas abaixo abilitam as Caixas de Texto Pesquisar Lanche e Bebida
        txtLanchePesquisar.setEditable(true);
        txtBebidaPesquisar.setEditable(true);
    }

    // metodo para setar os campos do formulário com os conteudos da tabela bebidas
    public void setarcamposbebida() {
        int setar = tblBebidas.getSelectedRow();
        txtBebidaId.setText(tblBebidas.getModel().getValueAt(setar, 0).toString());
        txtItemEntrada.setText(tblBebidas.getModel().getValueAt(setar, 1).toString());
        txtValorEntrada.setText(tblBebidas.getModel().getValueAt(setar, 2).toString().replace(",", "."));
        txtIdItemEntrada.setText(tblBebidas.getModel().getValueAt(setar, 0).toString());
        // as  linhas abaixo a Tabelas Bedidas Desablitado  apos seleção
        tblBebidas.setVisible(false);
        // linhas abaixo abilitam as Caixas de Texto Pesquisar Lanche e Bebida
        txtLanchePesquisar.setEditable(true);
        txtBebidaPesquisar.setEditable(true);
    }

    // método para adicionar Item Pedido
    private void itempedido() {
        String sql = "insert into tbitensvenda (nome, qtd, valor, total, idcli, nomecli, iditem, tipo, mesa) values(?,?,?,?,?,?,?,?,?)";
        try {
            pst = conexao.prepareStatement(sql);
            pst.setString(1, txtItemEntrada.getText());
            pst.setString(2, txtQtdEntrada.getText());
            pst.setString(3, txtValorEntrada.getText().replace(",", "."));
            // Multiplicar a quantidade pelo valor setar total
            double qtd = Double.parseDouble(txtQtdEntrada.getText());
            double valor = Double.parseDouble(txtValorEntrada.getText().replace(",", "."));
            double total = qtd * valor;
            txtTotalEntrada.setText(String.valueOf(total));
            pst.setString(4, txtTotalEntrada.getText().replace(",", "."));
            pst.setString(5, txtCliId.getText());
            pst.setString(6, txtCliNome.getText());
            pst.setString(7, txtIdItemEntrada.getText());
            pst.setString(8, txtTipo.getText());
            pst.setString(9, txtMesa.getText());
            if (txtQtdEntrada.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "Preencha Quantidade de Item (*)");
            } else {
                // a linha abaixo atualiza a tabela de lanches com os dados do Formulário
                // a estrutura abaixo é usada para confirmar a inserção de dados na tabela
                int adicionado = pst.executeUpdate();
                // a linha abaixo serve como entendimento da logica.
                //System.out.println(adicionado);
                if (adicionado > 0) {
                    JOptionPane.showMessageDialog(null, "Item Adicionado com Sucesso !!!");
                    // as linhas abaixo limpam os campos
                    txtLanchePesquisar.setText(null);
                    txtLancheId.setText(null);
                    txtBebidaPesquisar.setText(null);
                    txtBebidaId.setText(null);
                }
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }

        // as  linhas abaixo a Tabelas Clientes, Lanche e Bebidas Desablitado  apos Adicionar Pedido
        tblClientes.setVisible(false);
        tblLanches.setVisible(true);
        tblBebidas.setVisible(true);
        tblItensPedido.setVisible(true);
    }

    // metodo para setar os campos do formulário com os conteudos da tabela tbitensvenda Saida
    public void setar_campos_pedido() {
        int setar = tblItensPedido.getSelectedRow();
        txtItemSaida.setText(tblItensPedido.getModel().getValueAt(setar, 0).toString());
        txtQtdItemSaida.setText(tblItensPedido.getModel().getValueAt(setar, 1).toString());
        txtValorItemSaida.setText(tblItensPedido.getModel().getValueAt(setar, 2).toString());
        txtTotalSaida.setText(tblItensPedido.getModel().getValueAt(setar, 3).toString());
        txtCliId.setText(tblItensPedido.getModel().getValueAt(setar, 4).toString());
        // a linha abaixo desabilita o Botõa Adicionar e Pesquisar item Quando o usuário selecionar algum item.
        btnAdicionarItem.setEnabled(false);
        // as linhas abaixo abilitam os botões Excluir Item e Alterar item da tabela itens pedido
        btnRemoverItem.setEnabled(true);
    }

    // metodo responssável pela remoção de Item da tabela item venda
    private void remover() {
        //a estrutura abaixo confirma a exclusão do Item 
        int confirma = JOptionPane.showConfirmDialog(null, "Atenção Deseja Exclui este Item do Pedido ?", "Atenção!!!", JOptionPane.YES_NO_OPTION);
        if (confirma == JOptionPane.YES_OPTION) {
            String sql = "delete from tbitensvenda where nome=? and qtd=? and valor=? and idcli=?";
            try {
                pst = conexao.prepareStatement(sql);
                pst.setString(1, txtItemSaida.getText());
                pst.setString(2, txtQtdItemSaida.getText());
                pst.setString(3, txtValorItemSaida.getText());
                pst.setString(4, txtCliId.getText());
                int apagado = pst.executeUpdate();
                if (apagado > 0) {
                    JOptionPane.showMessageDialog(null, "Item Removido com Sucesso");
                    // as linhas abaixo limpam os campos
                    txtCliPesquisar.setText(null);
                    txtLanchePesquisar.setText(null);
                    txtLancheId.setText(null);
                    txtBebidaPesquisar.setText(null);
                    txtBebidaId.setText(null);
                    txtItemEntrada.setText(null);
                    txtValorEntrada.setText(null);
                    txtQtdEntrada.setText("0");
                    txtTotalEntrada.setText(null);
                    txtItemSaida.setText(null);
                    txtValorItemSaida.setText(null);
                    txtQtdItemSaida.setText(null);
                    txtTotalSaida.setText(null);
                    txtIdItemSaida.setText(null);
                }
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e);
            }
        }
        // alinha abaixo desabilita o botão excluir
        btnRemoverItem.setEnabled(false);
    }

    // metodo para somar os itens pedido
    private void soma() {
        double valorAcumulado;
        double valorUnitario;
        double quantidade;
        double valorPago;
        double troco;
        double total;
        // Linhas abaixo pega valores dos valores Jtextfield
        valorAcumulado = Double.parseDouble(txtValorAcumulado.getText().replace(",", "."));
        valorUnitario = Double.parseDouble(txtValorEntrada.getText().replace(",", "."));
        quantidade = Double.parseDouble(txtQtdEntrada.getText().replace(",", "."));
        valorPago = Double.parseDouble(txtValorPago.getText().replace(",", "."));
        // Calcula o valor Unitário * Quantidade e Soma com Valor já pedido.
        total = (valorUnitario * quantidade) + valorAcumulado;
        // Calcula o troco
        troco = valorPago - total;
        // Retorna os valores calculados.
        // Converter Double em 2 casas decimais
        DecimalFormat df = new DecimalFormat("###.00");
        txtValorTotalPedido.setText(df.format(total).replace(",", "."));
        txtTroco.setText(df.format(troco).replace(",", "."));
        // Setar valor 0 no Total acumulado para não calcular novamente
        txtValorAcumulado.setText(df.format(total).replace(",", "."));
    }

    // metodo para calcular o troco itens pedido
    private void troco() {
        double valorPago;
        double troco;
        double total;
        // Linhas abaixo pega valores dos valores Jtextfield
        total = Double.parseDouble(txtValorTotalPedido.getText().replace(",", "."));
        valorPago = Double.parseDouble(txtValorPago.getText().replace(",", "."));
        // Calcula o valor Unitário * Quantidade e Soma com Valor já pedido.
        // Calcula o troco
        troco = valorPago - total;
        // Retorna os valores calculados.
        // Converter Double em 2 casas decimais
        DecimalFormat df = new DecimalFormat("###.00");
        txtValorTotalPedido.setText(df.format(total).replace(",", "."));
        txtTroco.setText(df.format(troco).replace(",", "."));
        // Setar valor 0 no Total acumulado para não calcular novamente
    }

    //metodo para subtrair valor do item excluido
    private void subtrair() {
        double ValorTotalPedido;
        double TotalSaida;
        double valorPago;
        double troco;
        double total;
        // Linhas abaixo pega valores dos valores Jtextfield
        ValorTotalPedido = Double.parseDouble(txtValorTotalPedido.getText().replace(",", "."));
        TotalSaida = Double.parseDouble(txtTotalSaida.getText().replace(",", "."));
        valorPago = Double.parseDouble(txtValorPago.getText().replace(",", "."));
        // Calcula o valor Unitário * Quantidade e Soma com Valor já pedido.
        total = ValorTotalPedido - TotalSaida;
        // Calcula o troco
        troco = valorPago - total;
        // Retorna os valores calculados.
        // Converter Double em 2 casas decimais
        DecimalFormat df = new DecimalFormat("###.00");
        txtValorTotalPedido.setText(df.format(total).replace(",", "."));
        txtTroco.setText(df.format(troco).replace(",", "."));
    }

    // Popular Combobox com nomes de Motoboy
    public void populaJComboBox() {
        String sql = "select * from tbfuncionarios";
        try {
            pst = conexao.prepareStatement(sql);
            rs = pst.executeQuery();
            while (rs.next()) {
                cboMotoboy.addItem(rs.getString("nomefunc"));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    // método para adicionar Item Pedido
    private void adicionarvenda() {
        String sql = "insert into tbvenda ( totalvenda, idcli, nomefunc, tipo, situacao, pagto, troco, nomecli, mesa, iditemvenda, nome) values(?,?,?,?,?,?,?,?,?,?,?)";
        try {
            pst = conexao.prepareStatement(sql);
            pst.setString(1, txtValorTotalPedido.getText().replace(",", "."));
            pst.setString(2, txtCliId.getText());
            pst.setString(3, cboMotoboy.getSelectedItem().toString());
            pst.setString(4, txtTipo.getText());
            pst.setString(5, cboStatus.getSelectedItem().toString());
            pst.setString(6, cboFormaPagto.getSelectedItem().toString());
            pst.setString(7, txtTroco.getText());
            pst.setString(8, txtCliNome.getText());
            pst.setString(9, txtMesa.getText());
            pst.setString(10, txtIdItemEntrada.getText());
            pst.setString(11, txtItemEntrada.getText());
            if (txtCliNome.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "Selecione Nome do Cliente ou Cadastre Novo Cliente");
            } else {
                // a linha abaixo atualiza a tabela de lanches com os dados do Formulário
                // a estrutura abaixo é usada para confirmar a inserção de dados na tabela
                int adicionado = pst.executeUpdate();
                // a linha abaixo serve como entendimento da logica.
                //System.out.println(adicionado);
                if (adicionado > 0) {
                    JOptionPane.showMessageDialog(null, "Pedido Adicionado com Sucesso !!!");
                    // as linhas abaixo limpam os campos
                    txtCliPesquisar.setText(null);
                    txtLanchePesquisar.setText(null);
                    txtLancheId.setText(null);
                    txtBebidaPesquisar.setText(null);
                    txtBebidaId.setText(null);
                    txtItemEntrada.setText(null);
                    txtValorEntrada.setText(null);
                    txtQtdEntrada.setText("0");
                    txtTotalEntrada.setText(null);
                    txtItemSaida.setText(null);
                    txtValorItemSaida.setText(null);
                    txtQtdItemSaida.setText(null);
                    txtTotalSaida.setText(null);
                    txtIdItemSaida.setText(null);
                    txtNumVenda.setText(null);
                    txtValorTotalPedido.setText("0.00");
                    txtCliId.setText(null);
                    txtCliNome.setText(null);
                    txtCliFone.setText(null);
                    txtCliEndereco.setText(null);
                    txtCliCelular.setText(null);
                    txtTroco.setText("0.00");
                    txtValorAcumulado.setText("0.00");
                    txtIdItemEntrada.setText(null);
                    txtValorPago.setText("0.00");
                }
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        // as  linhas abaixo a Tabelas Clientes, Lanche e Bebidas Desablitado  apos Adicionar Pedido
        tblClientes.setVisible(false);
        tblLanches.setVisible(false);
        tblBebidas.setVisible(false);
        tblItensPedido.setVisible(false);

    }

    // metodo par pesquisar uma venda
    private void pesquisar_venda() {
        // a linha abaixo cria uma caixa de entrada do tipo JOptionPane
        String num_venda = JOptionPane.showInputDialog("Numero do Pedido Delivery");
        String sql = "select tbvenda.datavenda, tbclientes.idcli, tbvenda.nomefunc, tbvenda.situacao, tbvenda.tipo, tbvenda.totalvenda, tbclientes.nomecli, tbclientes.endcli, tbclientes.telcli, tbclientes.celcli, tbvenda.idvenda, tbvenda.pagto, tbvenda.troco  from tbvenda inner join tbclientes where tbvenda.nomecli = tbclientes.nomecli and tbvenda.tipo ='Delivery' and tbvenda.situacao <> 'Finalizado' and tbvenda.idvenda= " + num_venda;
        try {
            pst = conexao.prepareStatement(sql);
            rs = pst.executeQuery();
            if (rs.next()) {
                lblData.setText(rs.getString(1));
                txtCliId.setText(rs.getString(2));
                cboMotoboy.setSelectedItem(rs.getString(3));
                cboStatus.setSelectedItem(rs.getString(4));
                txtTipo.setText(rs.getString(5));
                txtValorAcumulado.setText(rs.getString(6));
                txtCliNome.setText(rs.getString(7));
                txtCliEndereco.setText(rs.getString(8));
                txtCliFone.setText(rs.getString(9));
                txtCliCelular.setText(rs.getString(10));
                txtNumVenda.setText(rs.getString(11));
                cboFormaPagto.setSelectedItem(rs.getString(12));
                txtTroco.setText(rs.getString(13));
                
            } else {
                JOptionPane.showMessageDialog(null, "Pedido Delivery não cadastrado!!!");
            }
        } catch (com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException e) {
            JOptionPane.showMessageDialog(null, "Pedido Delivery Inválido!!!");
            //System.out.println(e);
        } catch (Exception e2) {
            JOptionPane.showMessageDialog(null, e2);
        }
        // evitando problemas para não haver recadastro ou possivel troca de cliente
        btnAdicionar.setEnabled(false);
        btnLimparCampos.setEnabled(false);
        btnTroco.setEnabled(false);
        txtCliPesquisar.setEditable(false);
        tblClientes.setVisible(false);
        tblLanches.setVisible(true);
        tblBebidas.setVisible(true);
    }

    // metodo para alterar Pedido
    private void alterar_venda() {
        String sql = "update tbvenda set totalvenda=?, situacao=?, tipo=?,  pagto=?, troco=? where idvenda=? ";
        try {
            pst = conexao.prepareStatement(sql);
            pst.setString(1, txtValorTotalPedido.getText().replace(",", "."));
            pst.setString(2, cboStatus.getSelectedItem().toString());
            pst.setString(3, txtTipo.getText());
            pst.setString(4, cboFormaPagto.getSelectedItem().toString());
            pst.setString(5, txtTroco.getText());
            pst.setString(6, txtNumVenda.getText());

            if (txtNumVenda.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "Preencha Numero do Pedido");
            } else {
                // a linha abaixo atualiza a tabela de lanches com os dados do Formulário
                // a estrutura abaixo é usada para confirmar a inserção de dados na tabela
                int adicionado = pst.executeUpdate();
                // a linha abaixo serve como entendimento da logica.
                //System.out.println(adicionado);
                if (adicionado > 0) {
                    JOptionPane.showMessageDialog(null, "Pedido Alterado com Sucesso !!!");
                    // as linhas abaixo limpam os campos
                    txtLanchePesquisar.setText(null);
                    txtLancheId.setText(null);
                    txtBebidaPesquisar.setText(null);
                    txtBebidaId.setText(null);
                    txtItemEntrada.setText(null);
                    txtValorEntrada.setText(null);
                    txtQtdEntrada.setText("0");
                    txtIdItemEntrada.setText(null);
                    txtTotalEntrada.setText(null);
                    txtItemSaida.setText(null);
                    txtValorItemSaida.setText(null);
                    txtQtdItemSaida.setText(null);
                    txtTotalSaida.setText(null);
                    txtIdItemSaida.setText(null);
                    txtCliId.setText(null);
                    txtCliNome.setText(null);
                    txtCliFone.setText(null);
                    txtCliEndereco.setText(null);
                    txtCliCelular.setText(null);
                    txtTroco.setText("0,0");
                    txtValorAcumulado.setText("0,0");
                    lblData.setVisible(false);
                    txtValorTotalPedido.setText("0.00");
                    txtValorAcumulado.setText("0.00");
                    txtTroco.setText("0.00");
                    txtValorPago.setText("0.00");
                    txtQtdEntrada.setText("0");
                    txtNumVenda.setText(null);
                }
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        // as  linhas abaixo a Tabelas Clientes, Lanche e Bebidas Abilitado  apos Alterar Pedido
        tblLanches.setVisible(false);
        tblBebidas.setVisible(false);
        tblItensPedido.setVisible(false);
    }

    

OBS: Linhas abaixo correspondem aos eventos :



    private void txtCliPesquisarKeyReleased(java.awt.event.KeyEvent evt) {                                            
        // chmar o metodo pesquisar clientes por telefone
        pesquisar_cliente();
        tblClientes.setEnabled(true);
    }                                           

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

    private void tblClientesMouseClicked(java.awt.event.MouseEvent evt) {                                         
        // Chamando o metodo para setar campos cliente
        setarcamposcliente();
        tblClientes.setEnabled(false);
        txtLanchePesquisar.setEditable(true);
        txtBebidaPesquisar.setEditable(true);
    }                                        

    private void txtLanchePesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
        tblLanches.setEnabled(true);
    }                                                  

    private void txtLanchePesquisarKeyReleased(java.awt.event.KeyEvent evt) {                                               
        // chmar o metodo pesquisar lanche por nome
        pesquisar_lanche();
        tblLanches.setEnabled(true);
    }                                              

    private void tblLanchesMouseClicked(java.awt.event.MouseEvent evt) {                                        
        JOptionPane.showMessageDialog(null, "Não Esqueça Inserir Quantidade");
        // Chamando o metodo para setar campos lanche
        setarcamposlanche();
        tblItensPedido.setEnabled(true);
    }                                       

    private void txtBebidaPesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // Abilitar tabela bebida para ecolha
        tblBebidas.setEnabled(true);
    }                                                  

    private void txtBebidaPesquisarKeyReleased(java.awt.event.KeyEvent evt) {                                               
        // chmar o metodo pesquisar bebida por nome
        pesquisar_bebida();
        tblBebidas.setEnabled(true);
    }                                              

    private void tblBebidasMouseClicked(java.awt.event.MouseEvent evt) {                                        
        JOptionPane.showMessageDialog(null, "Não Esqueça Inserir Quantidade");
        // Chamando o metodo para setar campos bebida
        setarcamposbebida();
        tblItensPedido.setEnabled(true);
    }                                       

    private void btnAdicionarItemActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        // chamando o metodo adicionar Lanche     Testado OK*
        itempedido();
        // Inserir itens selecionado no campo de texto para a Tabela de Pedido.
        DefaultTableModel model = (DefaultTableModel) tblItensPedido.getModel();
        model.addRow(new Object[]{txtItemEntrada.getText(), txtQtdEntrada.getText(), txtValorEntrada.getText(), txtTotalEntrada.getText(), txtCliNome.getText()});
        // chamando o metodo Soma itens Pedido
        soma();
    }                                                

    private void btnRemoverItemActionPerformed(java.awt.event.ActionEvent evt) {                                               
        //Chamando o metodo Remover Lanche
        remover();
        // chamando o metodo subtrair itens Pedido
        subtrair();
        // Linha abaixo Limpa tblPedido
        ((DefaultTableModel) tblItensPedido.getModel()).removeRow(tblItensPedido.getSelectedRow());
    }                                              

    private void tblItensPedidoMouseClicked(java.awt.event.MouseEvent evt) {                                            
        // Chamando o metodo Selecionar Item Pedido
        setar_campos_pedido();
    }                                           

    private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // método para adicionar venda
        adicionarvenda();
    }                                            

    private void btnPesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        //Chamar o metodo Pesquisar Venda
        pesquisar_venda();
        pesquisar_lanche();
        pesquisar_bebida();
    }                                            

    private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // chamando o método para alterar Pedido
        alterar_venda();
    }                                          

    private void btnLimparCamposActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // Limpar campos do Formulário
        JOptionPane.showMessageDialog(null, "Formulário Limpo !!!");
        // as linhas abaixo limpam os campos
        txtCliPesquisar.setText(null);
        txtLanchePesquisar.setText(null);
        txtLancheId.setText(null);
        txtBebidaPesquisar.setText(null);
        txtBebidaId.setText(null);
        txtItemEntrada.setText(null);
        txtValorEntrada.setText(null);
        txtQtdEntrada.setText("0");
        txtTotalEntrada.setText(null);
        txtItemSaida.setText(null);
        txtValorItemSaida.setText(null);
        txtQtdItemSaida.setText(null);
        txtTotalSaida.setText(null);
        txtIdItemSaida.setText(null);
        txtNumVenda.setText(null);
        txtValorTotalPedido.setText("0.00");
        txtCliId.setText(null);
        txtCliNome.setText(null);
        txtCliFone.setText(null);
        txtCliEndereco.setText(null);
        txtCliCelular.setText(null);
        txtTroco.setText("0,0");
        txtValorAcumulado.setText("0.00");
    }                                               

    private void btnTrocoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // chamar metodo calcular Troco
        troco();
    }