Quero Return valor do getVerifica para outra tela mas não vai de jeito nenhum

5 respostas
cyberlacs

Amigos eu estou quase terminando este trabalho da faculdade, mas esbarrei novamente em um contratempo que esta me tirando o sono.

É o seguinte estou usando o Netbeans, e tenho três telas

TelaCadProduto
TelaTrocaOleo

TelaConsultaProduto

As telas TelaCadProduto e TelaTrocaOleo usam a TelaConsultaProduto.

O que eu quero é;
Fazer com que a TelaConsultaProduto fique sabendo qual Tela esta chamando ela, se é a TelaCadProduto ou TelaTrocaOleo

Fiz assim:

Na TelaCadProduto

criei uma varialvel private, metodo getVerifica e um botão que chama TelaConsultaProduto

private verifica;//Variável
    

     public String getVerifica()//Meto get
    {
        return verifica;
    }

    //Botão que chama a Tela Consulta Produto
    private void bBuscaActionPerformed(java.awt.event.ActionEvent evt) {                                       
        
        verifica = "ola";
        
       TelaConsultaProdutos tela=new TelaConsultaProdutos(null, true);
        tela.setVisible(true);

    }

Na TelaConsultaProduto

Criei o objeto e iniciei e coloquei um evento que quando o usuario clicar na tabela deabilito ou não o botão confirmar

TelaCadProduto p = new TelaCadProduto(null, true);
     verifica = p.getVerifica();

//Tablela com o evento que desejo que ocorra
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                     
        verifica = p.getVerifica();
        
        DefaultTableModel modelo=(DefaultTableModel)jTable1.getModel(); 
        codigo=modelo.getValueAt(jTable1.getSelectedRow(),0).toString();
        
        int index = jTable1.getSelectedRow();
        
        String pro_cod = jTable1.getValueAt(index ,4).toString();
        
        JOptionPane.showMessageDialog(this, "Verifica "+p.getVerifica());
        
        if(pro_cod.equals("0"))
        {
            JOptionPane.showMessageDialog(this, "Produto não tem estoque");
            
            if(verifica.equals("TelaCadProduto"))// AQUI FAZ A COMPARAÇÃO SE É DA TELA QUE QUERO QUE DESABILITA O BOTÃO
                bConfirmar.setEnabled(false);
        }
        else
            bConfirmar.setEnabled(true);
    }

O get não esta funcionando, não retona valor

Fico no aguardo, amigos não foi por falta de tentar, mas meu conhecimento é pequeno ainda.

Agradeço desde já

5 Respostas

jeffepalmares

amigo tem como vc postar o codigo das classes TelaCadProduto e da TelaConsultaProduto
só pra entender melhor como ta seu código???

e me corrija se eu estiver errado, em TelaCadProduto e TelaTrocaOleo vc tem um botão que quando é clicado vc instancia TelaConsultaProduto
e exibe essa nova tela e daí a depender da tela que originou a chamada terá um tratamento certo?

cyberlacs
e me corrija se eu estiver errado, em TelaCadProduto e TelaTrocaOleo vc tem um botão que quando é clicado vc instancia TelaConsultaProduto e exibe essa nova tela e daí a depender da tela que originou a chamada terá um tratamento certo?

Isto mesmo jeffepalmares, isto mesmo.

Viu jeffepalmares sei que a programação feita, não atende as boas politicas de POO mas como disse é um trabalho da faculdade.

Tem codigo pra caramba :shock: :shock:

Observação os locais que chama eu deixei um comentario

////////////////////////////////  AQUI CHAMA TELA CONSULTA PRODUTO ///////////////////////////////

///////////////////////////////////////////////////////    TERMINA ///////////////////////////////////////////

TELACADPRODUTO

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * TelaCadProduto.java
 *
 * Created on 28/10/2011, 11:02:14
 */
package controloil;

import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author aluno
 */
public class TelaCadProduto extends javax.swing.JDialog {
    private boolean busca=false;
    private ArrayList vcodmarca = new ArrayList();
    private String codigo;
    private String verifica="";
    
    /** Creates new form TelaCadProduto */
    public TelaCadProduto(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        
        desabilitarTudo();
        
        bNovo.setEnabled(true);
        bBusca.setEnabled(true);
        
        montaTela();
        
        tDescr.setDocument(new CaixaDeTextoEmMaiuscula());
    }
    
    public String getVerifica()
    {
        return verifica;
    }
    
    private void desabilitarTudo(){
        for(int i = 0; i <jPanel2.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel2.getComponent(i).setEnabled(false);
        
        for(int i = 0; i <jPanel1.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel1.getComponent(i).setEnabled(false);
        
        bCancelar.setEnabled(true);    
    }
    
    private void habilitarTudo(){
        for(int i = 0; i <jPanel2.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel2.getComponent(i).setEnabled(true);
        for(int i = 0; i <jPanel1.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel1.getComponent(i).setEnabled(true);       
    }
    
    private void montaTela(){
        tDescr.setText("");
        tEstoque.setText("");
        tPreco.setText("");
    
        ResultSet rs = Banco.con.consultar("select * from marca");
        String smarca;
        cbMarca.removeAllItems();
        try
        {
        while(rs.next())
        {
            smarca=rs.getString("mar_desc");
            
            cbMarca.addItem(smarca);
            
            vcodmarca.add(rs.getString("mar_cod"));
        }
        }
        catch(Exception e){}
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        bNovo = new javax.swing.JButton();
        bAlterar = new javax.swing.JButton();
        bExcluir = new javax.swing.JButton();
        bInserir = new javax.swing.JButton();
        bCancelar = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        tDescr = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        cbMarca = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        cbUnidade = new javax.swing.JComboBox();
        tPreco = new javax.swing.JTextField();
        tEstoque = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        bBusca = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Cadastro de Produtos");

        jPanel1.setBackground(new java.awt.Color(0, 0, 0));

        bNovo.setFont(new java.awt.Font("Tahoma", 0, 10));
        bNovo.setText("Novo");
        bNovo.setPreferredSize(new java.awt.Dimension(90, 32));
        bNovo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bNovoActionPerformed(evt);
            }
        });
        jPanel1.add(bNovo);

        bAlterar.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        bAlterar.setText("Alterar");
        bAlterar.setPreferredSize(new java.awt.Dimension(90, 32));
        bAlterar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bAlterarActionPerformed(evt);
            }
        });
        jPanel1.add(bAlterar);

        bExcluir.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        bExcluir.setText("Excluir");
        bExcluir.setPreferredSize(new java.awt.Dimension(90, 32));
        bExcluir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bExcluirActionPerformed(evt);
            }
        });
        jPanel1.add(bExcluir);

        bInserir.setFont(new java.awt.Font("Tahoma", 0, 10));
        bInserir.setText("Inserir");
        bInserir.setPreferredSize(new java.awt.Dimension(90, 32));
        bInserir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bInserirActionPerformed(evt);
            }
        });
        jPanel1.add(bInserir);

        bCancelar.setFont(new java.awt.Font("Tahoma", 0, 10));
        bCancelar.setText("Cancelar");
        bCancelar.setPreferredSize(new java.awt.Dimension(90, 32));
        bCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bCancelarActionPerformed(evt);
            }
        });
        jPanel1.add(bCancelar);

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

        jLabel1.setForeground(new java.awt.Color(255, 255, 255));
        jLabel1.setText("Produto:");

        jLabel2.setForeground(new java.awt.Color(255, 255, 255));
        jLabel2.setText("Marca:");

        jLabel3.setForeground(new java.awt.Color(255, 255, 255));
        jLabel3.setText("Unidade:");

        cbUnidade.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1L", "2L", "5L", "20L", "30L", "40", "PÇ" }));

        tPreco.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

        tEstoque.setHorizontalAlignment(javax.swing.JTextField.RIGHT);

        jLabel4.setForeground(new java.awt.Color(255, 255, 255));
        jLabel4.setText("Qtde em Estoque:");

        jLabel5.setForeground(new java.awt.Color(255, 255, 255));
        jLabel5.setText("Preço:");

        bBusca.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icones/lupa.gif"))); // NOI18N
        bBusca.setBorder(null);
        bBusca.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bBuscaActionPerformed(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(cbMarca, 0, 548, Short.MAX_VALUE)
                    .addComponent(jLabel2)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel2Layout.createSequentialGroup()
                                .addComponent(cbUnidade, 0, 312, Short.MAX_VALUE)
                                .addGap(18, 18, 18))
                            .addGroup(jPanel2Layout.createSequentialGroup()
                                .addComponent(jLabel3)
                                .addGap(216, 216, 216)))
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4))
                        .addGap(18, 18, 18)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel5)
                            .addComponent(tPreco, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addComponent(tDescr, javax.swing.GroupLayout.DEFAULT_SIZE, 518, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bBusca, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(bBusca, 0, 0, Short.MAX_VALUE)
                    .addComponent(tDescr))
                .addGap(22, 22, 22)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cbMarca, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4)
                    .addComponent(jLabel5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cbUnidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(tPreco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(tEstoque, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel3.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.focus"));

        jLabel6.setBackground(new java.awt.Color(255, 255, 255));
        jLabel6.setFont(new java.awt.Font("Tahoma", 0, 24));
        jLabel6.setForeground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
        jLabel6.setText("Cadastro de Produtos");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(329, Short.MAX_VALUE)
                .addComponent(jLabel6)
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel6)
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 568, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-584)/2, (screenSize.height-328)/2, 584, 328);
    }// </editor-fold>                        

    private void bExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String mar_cod = (String)vcodmarca.get(cbMarca.getSelectedIndex());
        String pro_desc=tDescr.getText();
        String pro_unidade=cbUnidade.getSelectedItem().toString();
        String pro_estoque=tEstoque.getText();
        String pro_preco=tPreco.getText();
        
        if(mar_cod.isEmpty() || pro_desc.isEmpty() || pro_unidade.isEmpty() || pro_estoque.isEmpty() || pro_preco.isEmpty())
        {
            JOptionPane.showMessageDialog(this, "Não existe dados a ser excluido");
        }
        else
        {
            int op = JOptionPane.showConfirmDialog(this, "Deseja Excluir ?");

            if(op==JOptionPane.YES_OPTION)
            {
                String sql ="delete from produto where pro_cod="+codigo;

                if(Banco.con.manipular(sql))
                    sql="Produto excluido com sucesso";
                else
                    sql="Probelma ao excluir";

                JOptionPane.showMessageDialog(null, sql);
            }

            desabilitarTudo();

            bNovo.setEnabled(true);
            bBusca.setEnabled(true);
        }
    }                                        

    private void bNovoActionPerformed(java.awt.event.ActionEvent evt) {                                      
        habilitarTudo();
        bNovo.setEnabled(true);
        bAlterar.setEnabled(true);
        bExcluir.setEnabled(true);
        bBusca.setEnabled(true);
    }                                     
///////////////////////////////////////////////////////////////////////////////////AQUI CHAMA TELA CONSULTA PRODUTO //////////////////////////////
    private void bBuscaActionPerformed(java.awt.event.ActionEvent evt) {                                       
        verifica = "TelaCadProduto";
        TelaConsultaProdutos tela=new TelaConsultaProdutos(null, true);
        tela.setVisible(true);
        
        codigo = tela.getCodigo();
        
        String sql="select mar_cod, pro_desc, pro_unidade, pro_estoque, pro_preco "
                + "from produto where pro_cod="+codigo;
        
        ResultSet rs = Banco.con.consultar(sql);
        
        try
        {
            if(rs.next())
            {
                tDescr.setText(rs.getString("pro_desc"));
                tEstoque.setText(rs.getString("pro_estoque"));
                tPreco.setText(rs.getString("pro_preco"));
                cbUnidade.setSelectedItem(rs.getString("pro_unidade").trim());
                int i=vcodmarca.indexOf(rs.getString("mar_cod"));
                cbMarca.setSelectedIndex(i);
            }
        }
        catch(Exception erro)
        {
        
        }
            
        
        habilitarTudo();
        bNovo.setEnabled(false);
        bInserir.setEnabled(false);
        
        busca =true;
    }                                      
/////////////////////////////////////////////////////////////////////////////////////////        TERMINA      //////////////////////////////
    private void bAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String mar_cod = (String)vcodmarca.get(cbMarca.getSelectedIndex());
        String pro_desc=tDescr.getText();
        String pro_unidade=cbUnidade.getSelectedItem().toString();
        String pro_estoque=tEstoque.getText();
        String pro_preco=tPreco.getText();
        
        if(mar_cod.isEmpty() || pro_desc.isEmpty() || pro_unidade.isEmpty() || pro_estoque.isEmpty() || pro_preco.isEmpty())
        {
            JOptionPane.showMessageDialog(this, "Não existe dados a ser alterado");
        }
        else
        {
            int op = JOptionPane.showConfirmDialog(this, "Deseja Alterar ?");

            if(op==JOptionPane.YES_OPTION)
            {   
                String sql = "update produto set mar_cod='"+mar_cod+"', pro_desc='"+pro_desc+"', pro_unidade='"+pro_unidade+"', pro_estoque='"+pro_estoque+"', pro_preco='"+pro_preco+"'"
                +" where pro_cod="+codigo;

                //String sql = "update produto set mar_cod='#1', pro_desc='#2', pro_unidade='#3', pro_estoque='#4', pro_preco='#5' where pro_cod="+codigo;

                //sql=sql.replace("#1", mar_cod);
                //sql=sql.replace("#2", pro_desc);
                //sql=sql.replace("#3", pro_unidade);
                //sql=sql.replace("#4", pro_estoque);
                //sql=sql.replace("#5", pro_preco);


                if(Banco.con.manipular(sql))
                    sql="Produto alterado com sucesso";
                else
                    sql="Problema ao alterar produto";

                JOptionPane.showMessageDialog(null, sql);
            }

            desabilitarTudo();

            bNovo.setEnabled(true);
            bBusca.setEnabled(true);

            busca =false;
        }
    }                                        

    private void bCancelarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if(busca)
        {
            desabilitarTudo();
        
            bNovo.setEnabled(true);
            bBusca.setEnabled(true); 
            
            busca=false;
        }
        else
            dispose();
    }                                         

    private void bInserirActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String mar_cod = (String)vcodmarca.get(cbMarca.getSelectedIndex());
        String pro_desc=tDescr.getText();
        String pro_unidade=cbUnidade.getSelectedItem().toString();
        String pro_estoque=tEstoque.getText();
        String pro_preco=tPreco.getText();
        
        if(mar_cod.isEmpty() || pro_desc.isEmpty() || pro_unidade.isEmpty() || pro_estoque.isEmpty() || pro_preco.isEmpty())
        {
            JOptionPane.showMessageDialog(this, "Campos:\nProduto, Marca, Unidade, Estoque, Preço\nPreenchimento Necessário !");
        }
        else
        {        
            String sql = "insert into produto"
                        +"(mar_cod, pro_desc, pro_unidade, pro_estoque, pro_preco)"
                        +"values(#1,'#2','#3','#4','#5')";

            sql=sql.replace("#1", mar_cod);
            sql=sql.replace("#2", pro_desc);
            sql=sql.replace("#3", pro_unidade);
            sql=sql.replace("#4", pro_estoque);
            sql=sql.replace("#5", pro_preco);

            if(Banco.con.manipular(sql))
                JOptionPane.showMessageDialog(this, "Produto cadastrado !");
            else
                JOptionPane.showMessageDialog(this, "Erro"+Banco.con.getMensagemErro());

            desabilitarTudo();
            bNovo.setEnabled(true);
            bBusca.setEnabled(true);
            montaTela();
        }
    }                                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                TelaCadProduto dialog = new TelaCadProduto(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {

                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton bAlterar;
    private javax.swing.JButton bBusca;
    private javax.swing.JButton bCancelar;
    private javax.swing.JButton bExcluir;
    private javax.swing.JButton bInserir;
    private javax.swing.JButton bNovo;
    private javax.swing.JComboBox cbMarca;
    private javax.swing.JComboBox cbUnidade;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JTextField tDescr;
    private javax.swing.JTextField tEstoque;
    private javax.swing.JTextField tPreco;
    // End of variables declaration                   
}

TELATROCAOLEO

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * TelaTrocaOleo.java
 *
 * Created on 12/11/2011, 10:49:29
 */
package controloil;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Luiz Chequini
 */
public class TelaTrocaOleo extends javax.swing.JDialog {
    
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

    private boolean busca=false;
    private String codigo;
    private double soma=0;
    
    /** Creates new form TelaTrocaOleo */
    public TelaTrocaOleo(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
  
        String data = sdf.format(new Date());       
        tData.setText(data);  
        
        tNome.setDocument(new CaixaDeTextoEmMaiuscula());
        tProduto.setDocument(new CaixaDeTextoEmMaiuscula());
        tVeiculo.setDocument(new CaixaDeTextoEmMaiuscula());
    }
    
    private void desabilitarTudo()
    {
        for(int i = 0; i <jPanel1.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel1.getComponent(i).setEnabled(false);
        
        for(int i = 0; i <jPanel3.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel3.getComponent(i).setEnabled(false);
        
        bCancelar.setEnabled(true);    
    }
    
    private void habilitarTudo(){
        for(int i = 0; i <jPanel1.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel1.getComponent(i).setEnabled(true);
        for(int i = 0; i <jPanel3.getComponentCount();i++)
            //if(!(jPanel2.getComponent(i) instanceof JLabel))
            jPanel3.getComponent(i).setEnabled(true);       
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jPanel2 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        bConfirmar = new javax.swing.JButton();
        bCancelar = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jPanel4 = new javax.swing.JPanel();
        bProduto = new javax.swing.JButton();
        tProduto = new javax.swing.JTextField();
        sQuant = new javax.swing.JSpinner();
        bMenos = new javax.swing.JButton();
        bMais = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jTotal = new javax.swing.JLabel();
        bCliente = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        tNome = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        tKm = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        tVeiculo = new javax.swing.JTextField();
        tCod = new javax.swing.JTextField();
        tData = new javax.swing.JFormattedTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Troca de Óleo");

        jPanel2.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.focus"));

        jLabel1.setBackground(new java.awt.Color(255, 255, 255));
        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24));
        jLabel1.setForeground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
        jLabel1.setText("Troca de Óleo");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(524, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel1.setBackground(new java.awt.Color(0, 0, 0));

        bConfirmar.setText("Confirmar");
        bConfirmar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bConfirmarActionPerformed(evt);
            }
        });

        bCancelar.setText("Cancelar");
        bCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bCancelarActionPerformed(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(514, Short.MAX_VALUE)
                .addComponent(bConfirmar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(bCancelar)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bCancelar)
                    .addComponent(bConfirmar))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel3.setBackground(new java.awt.Color(0, 0, 0));

        jPanel4.setBackground(new java.awt.Color(0, 0, 0));
        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, new java.awt.Color(255, 255, 255)), "Produtos", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(255, 255, 255))); // NOI18N
        jPanel4.setAutoscrolls(true);

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

        tProduto.setEditable(false);

        sQuant.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        sQuant.setValue(1);

        bMenos.setText("-");
        bMenos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bMenosActionPerformed(evt);
            }
        });

        bMais.setText("+");
        bMais.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bMaisActionPerformed(evt);
            }
        });

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

            },
            new String [] {
                "Cod.", "Descrição", "Quant.", "Valor Unit.", "Valor Total"
            }
        ));
        jScrollPane1.setViewportView(jTable1);
        jTable1.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTable1.getColumnModel().getColumn(1).setPreferredWidth(250);
        jTable1.getColumnModel().getColumn(2).setPreferredWidth(50);
        jTable1.getColumnModel().getColumn(3).setPreferredWidth(70);
        jTable1.getColumnModel().getColumn(4).setPreferredWidth(100);

        jTotal.setFont(new java.awt.Font("Tahoma", 1, 24));
        jTotal.setForeground(new java.awt.Color(255, 255, 255));
        jTotal.setText("0,00");

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 634, Short.MAX_VALUE)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(bProduto)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(tProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 414, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(sQuant, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bMais)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bMenos))
                    .addComponent(jTotal, javax.swing.GroupLayout.Alignment.TRAILING))
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bProduto)
                    .addComponent(tProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(bMenos)
                    .addComponent(bMais)
                    .addComponent(sQuant, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 125, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(jTotal))
        );

        bCliente.setMnemonic('c');
        bCliente.setText("...");
        bCliente.setToolTipText("Alt+C");
        bCliente.setDisplayedMnemonicIndex(1);
        bCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bClienteActionPerformed(evt);
            }
        });

        jLabel2.setBackground(new java.awt.Color(255, 255, 255));
        jLabel2.setForeground(new java.awt.Color(255, 255, 255));
        jLabel2.setText("Cliente:");

        tNome.setEditable(false);

        jLabel3.setBackground(new java.awt.Color(255, 255, 255));
        jLabel3.setForeground(new java.awt.Color(255, 255, 255));
        jLabel3.setText("Data");

        jLabel5.setForeground(new java.awt.Color(255, 255, 255));
        jLabel5.setText("Km");

        jLabel4.setForeground(new java.awt.Color(255, 255, 255));
        jLabel4.setText("Veiculo");

        tCod.setEditable(false);

        tData.setEditable(false);
        tData.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter()));
        tData.setHorizontalAlignment(javax.swing.JTextField.CENTER);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
                                .addComponent(bCliente)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(tCod, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(tNome, javax.swing.GroupLayout.DEFAULT_SIZE, 443, Short.MAX_VALUE))
                            .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(tVeiculo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 558, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3)
                            .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(tKm, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jLabel5))
                                .addComponent(tData, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(tNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(bCliente)
                        .addComponent(tCod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(tData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(tKm, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(tVeiculo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(18, 18, 18)
                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-700)/2, (screenSize.height-500)/2, 700, 500);
    }// </editor-fold>                        

    private void bCancelarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        dispose();
    }                                         

    private void bConfirmarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        String sql = "";
        
        String data = tData.getText();
        String km = tKm.getText();
        String veiculo = tVeiculo.getText();
        String codCli = tCod.getText();
        
        if(data.isEmpty() || km.isEmpty() || veiculo.isEmpty())
        {
            JOptionPane.showMessageDialog(this, "Campos:\nCliente, Veiculo e Km\nTodos necessários !");
        }
        else
        {
            sql = "INSERT INTO troca (tro_data, tro_km, tro_veiculo, cli_cod) VALUES ('#1','#2','#3','#4')";

            sql=sql.replace("#1", data);
            sql=sql.replace("#2", km);
            sql=sql.replace("#3", veiculo);
            sql=sql.replace("#4", codCli);

            Banco.con.manipular(sql);
            
            //////////////****************///////////////
            int ctroca=Banco.con.getMaxPK("troca", "tro_cod");

            DefaultTableModel modelo=(DefaultTableModel)jTable1.getModel();

            if(modelo.getRowCount()==0)
            {
                JOptionPane.showMessageDialog(this, "Necessário a inserção de pelo menos um Produto para efetuar esta Venda !");
            }
            else
            {
                for(int i=0; i<modelo.getRowCount();i++)
                {
                    String cod=modelo.getValueAt(i,0).toString();
                    String quant=modelo.getValueAt(i,2).toString();

                    sql="insert into troca_itens (tro_cod,pro_cod,it_quant) values"
                                            + "("+String.valueOf(ctroca)+","+cod+","+quant+")";

                    Banco.con.manipular(sql);
                }

                //diminuir o estoque  
                for(int i=0; i<modelo.getRowCount();i++)
                {

                        String cod=modelo.getValueAt(i,0).toString();
                        String quant=modelo.getValueAt(i,2).toString();

                        sql = "SELECT pro_estoque FROM produto WHERE pro_cod="+cod;            
                        ResultSet rs = Banco.con.consultar(sql);

                        int subtraiEstoque = 0;
                    try 
                    {
                        if(rs.next())
                        {
                            subtraiEstoque = rs.getInt("pro_estoque") - Integer.parseInt(quant);

                            sql="UPDATE produto SET pro_estoque='#1' WHERE pro_cod="+cod;

                            sql = sql.replace("#1", String.valueOf(subtraiEstoque));

                            Banco.con.manipular(sql);

                            rs.close();
                        }
                    } 
                    catch (SQLException ex) 
                    {
                        JOptionPane.showMessageDialog(this, "Não foi possível dar baixa no estoque !");
                    }

                }

                JOptionPane.showMessageDialog(this, "Venda Efetuada com sucesso !");
            }
        }
    }                                          

    private void bClienteActionPerformed(java.awt.event.ActionEvent evt) {                                         
        TelaConsultaCliente tela=new TelaConsultaCliente(null, true);
        tela.setVisible(true);
                
        codigo = tela.getCodigo();
        
        String sql="select cli_nome,cli_endereco,cli_bairro,cli_cidade,cli_uf,cli_fone,cli_informacao from "
                + "cliente where cli_cod="+codigo;
        
        ResultSet rs = Banco.con.consultar(sql);
 
        try
        {
            if(rs.next())
            {   
                tCod.setText(codigo);
                tNome.setText(rs.getString("cli_nome"));
            }
            
            rs.close();
        }
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(this, "Erro"+Banco.con.getMensagemErro()+"  Veja o codigo "+codigo);
        }
            
        
        habilitarTudo();
        //bNovo.setEnabled(false);
        //bConfirmar.setEnabled(false);
        
        busca =true;
    }                                        
///////////////////////////////////////////////////////////////////////////////////AQUI CHAMA TELA CONSULTA PRODUTO //////////////////////////////
    private void bProdutoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        TelaConsultaProdutos tela=new TelaConsultaProdutos(null, true);
        tela.setVisible(true);
                
        codigo = tela.getCodigo();
        
        String sql="select mar_cod, pro_desc, pro_unidade, pro_estoque, pro_preco "
                + "from produto where pro_cod="+codigo;
        
        ResultSet rs = Banco.con.consultar(sql);
        
        try
        {
            if(rs.next())
            {
                tProduto.setText(rs.getString("pro_desc"));
            }
            
            rs.close();
        }
        catch(Exception erro)
        {
        
        }
            
        
        habilitarTudo();
        
        //bConfirmar.setEnabled(false);
        
        busca =true;
    }                                        
//////////////////////////////////////////////////////////////////////////////////////////////////    TERMINA ///////////////////////////////////////////
    private void bMaisActionPerformed(java.awt.event.ActionEvent evt) {                                      
        int i=0;
        boolean encontrou=false;
        
        String linha[] = new String[5];
        
        String sql="select pro_cod, pro_desc, pro_preco "
                + "from produto where pro_cod="+codigo;
        
        ResultSet rs = Banco.con.consultar(sql);      
        
        DefaultTableModel modelo=(DefaultTableModel)jTable1.getModel();
        
        try 
        {
            while(i < modelo.getRowCount() && modelo.getRowCount() > 0)
            {
                if(modelo.getValueAt(i,1).toString().equals(tProduto.getText()))
                {  
                    int op = JOptionPane.showConfirmDialog(this, modelo.getValueAt(i,2).toString()+" unidades deste produto já foi adicionado\n"
                                                              + "Deseja atualizar a quant atual por "+sQuant.getValue().toString()+" unid");
        
                    if(op==JOptionPane.YES_OPTION)
                    {
                        if(rs.next())
                        {
                            //Nesta linha retiro o R$ pois vem do BD
                            String retira = rs.getString(3).substring(2);
                            //Retiro os pontos pois com valores 22.222,00 temos de fazer este tratamento Double é assim 22222.00
                            retira = retira.replace(".", "");
                            //Apos tirar o ponto tenho de tirar a virgula e colocar o ponto o valor ira fica compativel com Double
                            retira = retira.replace(",", ".");
                            
                            //Pego o valor do Produto e Quantidade antiga multiplico
                            double multiplicaValorAntigo = Double.parseDouble(retira) * Double.parseDouble(modelo.getValueAt(i,2).toString());
                            //Apos a multiplicação subtraiu pela soma que é o valor total
                            soma = soma - multiplicaValorAntigo;
                            //Insiro a nova quantidade na lista       
                            modelo.setValueAt(sQuant.getValue().toString(), i, 2);
                            //Multiplico a nova quantidade pelo valor unitários do Produto
                            double multiplica = Double.parseDouble(retira)*Double.parseDouble(sQuant.getValue().toString());
                            //Insiro o novo valor ja multiplicado do Produto
                            modelo.setValueAt(String.format("R$ %.2f", multiplica), i, 4);
                            //Atualizo o novo valor total com a nova multiplicação 
                            soma = soma + multiplica;
                            //jTotal que é um jLabel recebe o valor atualizado
                            jTotal.setText(String.format("R$ %.2f", soma));
                        }   
                    }
                    //Esta variavel é responsavel em não permitir a inserção do produto ja existente na jTabel modelo :linha 577
                    encontrou = true;  
                }
                
                i++;
            }

            if(rs.next() && encontrou == false)
            {
                linha[0]=rs.getString(1);
                linha[1]=rs.getString(2);
                linha[2]=sQuant.getValue().toString();
                linha[3]=rs.getString(3);

                String retira = rs.getString(3).substring(2);
                retira = retira.replace(".", "");
                retira = retira.replace(",", ".");                
                
                double multiplica = Double.parseDouble(retira)*Double.parseDouble(sQuant.getValue().toString());

                linha[4] = String.format("R$ %.2f", multiplica);
                modelo.addRow(linha);
                
                soma = soma + multiplica;

                jTotal.setText(String.format("R$ %.2f", soma));
                
            }
        } 
        catch (SQLException ex) 
        {
            Logger.getLogger(TelaTrocaOleo.class.getName()).log(Level.SEVERE, null, ex);
        }
                
    }                                     

    private void bMenosActionPerformed(java.awt.event.ActionEvent evt) {                                       
        DefaultTableModel modelo=(DefaultTableModel)jTable1.getModel();
        
        int index = jTable1.getSelectedRow();
        
        String pro_cod = jTable1.getValueAt(index ,4).toString(); 
        pro_cod = pro_cod.substring(2);
        pro_cod = pro_cod.replace(",", ".");

       
        double subtrai = soma - Double.parseDouble(pro_cod);
                
        soma = subtrai;

        jTotal.setText(String.format("R$ %.2f", soma));       
        
        modelo.removeRow(jTable1.getSelectedRow());
    }                                      

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(TelaTrocaOleo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(TelaTrocaOleo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(TelaTrocaOleo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(TelaTrocaOleo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the dialog */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                TelaTrocaOleo dialog = new TelaTrocaOleo(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {

                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton bCancelar;
    private javax.swing.JButton bCliente;
    private javax.swing.JButton bConfirmar;
    private javax.swing.JButton bMais;
    private javax.swing.JButton bMenos;
    private javax.swing.JButton bProduto;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JLabel jTotal;
    private javax.swing.JSpinner sQuant;
    private javax.swing.JTextField tCod;
    private javax.swing.JFormattedTextField tData;
    private javax.swing.JTextField tKm;
    private javax.swing.JTextField tNome;
    private javax.swing.JTextField tProduto;
    private javax.swing.JTextField tVeiculo;
    // End of variables declaration                   
}

Muito codigo

jeffepalmares

cara imagino que essas linhas de código estejam dentro da TelaConsultaProduto:

TelaCadProduto p = new TelaCadProduto(null, true);  
     verifica = p.getVerifica();  
  
//Tablela com o evento que desejo que ocorra  
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) ...

sendo sim, realmente o verifica virá vazio pois vc instancia o objeto TelaCadProduto e este não possui no campo verifica o nome da classe
o q vc pode fazer é:
ou no construtor da classe TelaConsultaProduto vc passa o nome da tela de origem
ou vc cria um metodo set dentre dela
e depois de instanciar e antes de dar o visible vc seta o nome da tela q chamou

exempos:

TelaConsultaProdutos tela=new TelaConsultaProdutos(null, true,"TelaCadProduto");  
        tela.setVisible(true);
ou
TelaConsultaProdutos tela=new TelaConsultaProdutos(null, true);  
        tela.setVerifica("TelaCadProduto");
        tela.setVisible(true);

em ambos os casos obviamente vc terá um atributo chamado Verifica em TelaConsultaProdutos, bem como seus metodos get e set
e só uma dica

sei q é só um trabalho de facul
mas tenta separar um pouco as coisas
pois até pra vc resolver problemas e encontrar erros
fica mais fácil

vê ai se funfa qualquer coisa é só falar.

jeffepalmares

ah e só pra n esquecer

vc pode dentro da classe TelaCadProduto

public class TelaCadProduto extends javax.swing.JDialog { private boolean busca=false; private ArrayList vcodmarca = new ArrayList(); private String codigo; private String verifica="TelaCadProduto";

assim vc não precisa mudar nada na TelaConsultaProdutos

cyberlacs

Poxa que legal jeffepalmares valew mesmo muito obrigado.

Consegui enxergar a Lógica hehehe

:lol: Funcionou perfeitamente :lol:

Agradeço e muito.

Criado 29 de novembro de 2011
Ultima resposta 29 de nov. de 2011
Respostas 5
Participantes 2