Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: vinicius furtado
Added: Jan 10, 2022 7:41 PM
Views: 82
Tags: no tags
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package br.com.sistema.view;
  7.  
  8.  
  9. import br.com.sistema.dao.FuncionariosDAO;
  10. import br.com.sistema.jdbc.ConnectionFactory;
  11. import java.awt.event.KeyEvent;
  12. import java.sql.Connection;
  13. import java.sql.PreparedStatement;
  14. import java.sql.ResultSet;
  15. import java.sql.SQLException;
  16. import javax.swing.JButton;
  17.  
  18. import javax.swing.JOptionPane;
  19.  
  20. /**
  21.  *
  22.  * @author Tampelini
  23.  */
  24. public class FrmLogin extends javax.swing.JFrame {
  25.  
  26.     //Conexao
  27.     private Connection con;    
  28.    
  29.     public FrmLogin() {
  30.         this.con = new ConnectionFactory().getConnection();
  31.         initComponents();
  32.     }
  33.  
  34.     /**
  35.      * This method is called from within the constructor to initialize the form.
  36.      * WARNING: Do NOT modify this code. The content of this method is always
  37.      * regenerated by the Form Editor.
  38.      */
  39.     @SuppressWarnings("unchecked")
  40.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  41.     private void initComponents() {
  42.  
  43.         jPanel1 = new javax.swing.JPanel();
  44.         jLabel1 = new javax.swing.JLabel();
  45.         jLabel5 = new javax.swing.JLabel();
  46.         txtemail = new javax.swing.JTextField();
  47.         jLabel18 = new javax.swing.JLabel();
  48.         txtsenha = new javax.swing.JPasswordField();
  49.         btnentrar = new javax.swing.JButton();
  50.         btnsair = new javax.swing.JButton();
  51.         jLabel2 = new javax.swing.JLabel();
  52.  
  53.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  54.         setTitle("Seja bem vindo ao Sistema - Autenticação");
  55.         addWindowListener(new java.awt.event.WindowAdapter() {
  56.             public void windowActivated(java.awt.event.WindowEvent evt) {
  57.                 formWindowActivated(evt);
  58.             }
  59.         });
  60.  
  61.         jPanel1.setBackground(new java.awt.Color(0, 102, 204));
  62.  
  63.         jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
  64.         jLabel1.setForeground(new java.awt.Color(255, 255, 255));
  65.         jLabel1.setText("Autenticação de Usuários");
  66.  
  67.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  68.         jPanel1.setLayout(jPanel1Layout);
  69.         jPanel1Layout.setHorizontalGroup(
  70.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  71.             .addGroup(jPanel1Layout.createSequentialGroup()
  72.                 .addGap(23, 23, 23)
  73.                 .addComponent(jLabel1)
  74.                 .addContainerGap(377, Short.MAX_VALUE))
  75.         );
  76.         jPanel1Layout.setVerticalGroup(
  77.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  78.             .addGroup(jPanel1Layout.createSequentialGroup()
  79.                 .addGap(21, 21, 21)
  80.                 .addComponent(jLabel1)
  81.                 .addContainerGap(20, Short.MAX_VALUE))
  82.         );
  83.  
  84.         jLabel5.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  85.         jLabel5.setText("E-mail:");
  86.  
  87.         txtemail.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  88.         txtemail.addKeyListener(new java.awt.event.KeyAdapter() {
  89.             public void keyPressed(java.awt.event.KeyEvent evt) {
  90.                 txtemailKeyPressed(evt);
  91.             }
  92.         });
  93.  
  94.         jLabel18.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  95.         jLabel18.setText("Senha:");
  96.  
  97.         txtsenha.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  98.         txtsenha.addActionListener(new java.awt.event.ActionListener() {
  99.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  100.                 txtsenhaActionPerformed(evt);
  101.             }
  102.         });
  103.         txtsenha.addKeyListener(new java.awt.event.KeyAdapter() {
  104.             public void keyPressed(java.awt.event.KeyEvent evt) {
  105.                 txtsenhaKeyPressed(evt);
  106.             }
  107.         });
  108.  
  109.         btnentrar.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  110.         btnentrar.setText("ENTRAR");
  111.         btnentrar.addActionListener(new java.awt.event.ActionListener() {
  112.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  113.                 btnentrarActionPerformed(evt);
  114.             }
  115.         });
  116.  
  117.         btnsair.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
  118.         btnsair.setText("SAIR");
  119.         btnsair.addActionListener(new java.awt.event.ActionListener() {
  120.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  121.                 btnsairActionPerformed(evt);
  122.             }
  123.         });
  124.  
  125.         jLabel2.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N
  126.         jLabel2.setForeground(new java.awt.Color(0, 0, 238));
  127.         jLabel2.setText("Esqueci minha senha");
  128.         jLabel2.addMouseListener(new java.awt.event.MouseAdapter() {
  129.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  130.                 jLabel2MouseClicked(evt);
  131.             }
  132.         });
  133.  
  134.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  135.         getContentPane().setLayout(layout);
  136.         layout.setHorizontalGroup(
  137.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  138.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  139.             .addGroup(layout.createSequentialGroup()
  140.                 .addGap(54, 54, 54)
  141.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  142.                     .addGroup(layout.createSequentialGroup()
  143.                         .addComponent(jLabel5)
  144.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  145.                         .addComponent(txtemail, javax.swing.GroupLayout.PREFERRED_SIZE, 484, javax.swing.GroupLayout.PREFERRED_SIZE))
  146.                     .addGroup(layout.createSequentialGroup()
  147.                         .addComponent(jLabel18)
  148.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  149.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  150.                             .addComponent(jLabel2)
  151.                             .addComponent(txtsenha))))
  152.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  153.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  154.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  155.                 .addComponent(btnentrar, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
  156.                 .addGap(18, 18, 18)
  157.                 .addComponent(btnsair)
  158.                 .addGap(203, 203, 203))
  159.         );
  160.  
  161.         layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btnentrar, btnsair});
  162.  
  163.         layout.setVerticalGroup(
  164.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  165.             .addGroup(layout.createSequentialGroup()
  166.                 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  167.                 .addGap(34, 34, 34)
  168.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  169.                     .addComponent(txtemail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  170.                     .addComponent(jLabel5))
  171.                 .addGap(28, 28, 28)
  172.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  173.                     .addComponent(jLabel18)
  174.                     .addComponent(txtsenha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  175.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
  176.                 .addComponent(jLabel2)
  177.                 .addGap(18, 18, 18)
  178.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  179.                     .addComponent(btnentrar, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
  180.                     .addComponent(btnsair))
  181.                 .addGap(32, 32, 32))
  182.         );
  183.  
  184.         layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {btnentrar, btnsair});
  185.  
  186.         pack();
  187.         setLocationRelativeTo(null);
  188.     }// </editor-fold>                        
  189.  
  190.     private void btnentrarActionPerformed(java.awt.event.ActionEvent evt) {                                          
  191.         // Botao entrar
  192.        
  193.         try {
  194.             String email, senha;
  195.            
  196.             email = txtemail.getText();
  197.             //senha = txtsenha.getText();
  198.             senha = new String(txtsenha.getPassword());
  199.            
  200.             FuncionariosDAO dao = new FuncionariosDAO();
  201.            
  202.            
  203.             dao.efetuaLogin(email, senha);
  204.            
  205.            
  206.            
  207.             this.dispose();
  208.            
  209.         } catch (Exception e) {
  210.             JOptionPane.showMessageDialog(null, "erro");
  211.         }
  212.     }                                        
  213.  
  214.     private void formWindowActivated(java.awt.event.WindowEvent evt) {                                    
  215.         // TODO add your handling code here:
  216.     }                                    
  217.  
  218.     private void btnsairActionPerformed(java.awt.event.ActionEvent evt) {                                        
  219.         int op;
  220.  
  221.         op = JOptionPane.showConfirmDialog(null, "Você tem certeza que desja sair?");
  222.  
  223.         if (op == 0) {
  224.             System.exit(0);
  225.         }
  226.     }                                      
  227.  
  228.     private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {                                    
  229.         try{
  230.             String sql = "select * from tb_funcionarios where nome like ?";
  231.             PreparedStatement stmt = con.prepareStatement(sql);
  232.             stmt.setString(1, "ADMINISTRADOR");
  233.            
  234.             ResultSet rs = stmt.executeQuery();
  235.            
  236.             String senha = null;
  237.             while(rs.next()){
  238.                  senha = rs.getString("senha");
  239.             }
  240.  
  241.  
  242.             String senhaAdm = JOptionPane.showInputDialog("Digite a senha do administrador para alterar o cadastro\n"
  243.                                                                 + "Login: admin@email.com");
  244.            
  245.             if(senhaAdm.equals(senha)){
  246.                 FrmFuncionarios cadastroFuncionario = new FrmFuncionarios();
  247.  
  248.                 this.dispose();
  249.  
  250.                 cadastroFuncionario.setVisible(true);
  251.             }else{
  252.                 JOptionPane.showMessageDialog(null,"Senha incorreta");
  253.             }
  254.  
  255.         } catch (SQLException erro) {
  256.  
  257.             JOptionPane.showMessageDialog(null, "Erro :" + erro);
  258.             //return null;
  259.         }
  260.  
  261.     }                                    
  262.  
  263.     private void txtsenhaActionPerformed(java.awt.event.ActionEvent evt) {                                        
  264.         // TODO add your handling code here:
  265.        
  266.        
  267.        
  268.     }                                        
  269.  
  270.     private void txtsenhaKeyPressed(java.awt.event.KeyEvent evt) {                                    
  271.         // TODO add your handling code here:
  272.         if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
  273.             //FrmLogin obj = new FrmLogin();
  274.             //obj.btnentrar();
  275.         }
  276.        
  277.     }                                  
  278.  
  279.     private void txtemailKeyPressed(java.awt.event.KeyEvent evt) {                                    
  280.         // TODO add your handling code here:
  281.         if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
  282.             //FrmLogin obj = new FrmLogin();
  283.             //obj.btnentrar();
  284.         }
  285.     }                                  
  286.  
  287.     /**
  288.      * @param args the command line arguments
  289.      */
  290.     public static void main(String args[]) {
  291.         /* Set the Nimbus look and feel */
  292.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  293.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  294.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  295.          */
  296.         try {
  297.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  298.                 if ("Windows".equals(info.getName())) {
  299.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  300.                     break;
  301.                 }
  302.             }
  303.         } catch (ClassNotFoundException ex) {
  304.             java.util.logging.Logger.getLogger(FrmLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  305.         } catch (InstantiationException ex) {
  306.             java.util.logging.Logger.getLogger(FrmLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  307.         } catch (IllegalAccessException ex) {
  308.             java.util.logging.Logger.getLogger(FrmLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  309.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  310.             java.util.logging.Logger.getLogger(FrmLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  311.         }
  312.         //</editor-fold>
  313.  
  314.         /* Create and display the form */
  315.         java.awt.EventQueue.invokeLater(new Runnable() {
  316.             public void run() {
  317.                 new FrmLogin().setVisible(true);
  318.             }
  319.         });
  320.     }
  321.  
  322.     // Variables declaration - do not modify                    
  323.     private javax.swing.JButton btnentrar;
  324.     private javax.swing.JButton btnsair;
  325.     private javax.swing.JLabel jLabel1;
  326.     private javax.swing.JLabel jLabel18;
  327.     private javax.swing.JLabel jLabel2;
  328.     private javax.swing.JLabel jLabel5;
  329.     private javax.swing.JPanel jPanel1;
  330.     private javax.swing.JTextField txtemail;
  331.     private javax.swing.JPasswordField txtsenha;
  332.     // End of variables declaration                  
  333. }
  334.