Advertisement
Metziop

login

Jun 15th, 2021
694
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.47 KB | None | 0 0
  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 vistas;
  7.  
  8. import Conexion.operaciones;
  9. import java.io.DataInputStream;
  10. import java.io.DataOutputStream;
  11. import java.net.Socket;
  12. import javax.swing.JOptionPane;
  13.  
  14. /**
  15.  *
  16.  * @author dario
  17.  */
  18. public class login extends javax.swing.JFrame {
  19.  
  20.     /**
  21.      * Creates new form login
  22.      */
  23.     public login() {
  24.         // new Servidor(userStr, s).setVisible(true);
  25.         initComponents();
  26.         this.setLocationRelativeTo(null);
  27.  
  28.     }
  29.  
  30.     /**
  31.      * This method is called from within the constructor to initialize the form.
  32.      * WARNING: Do NOT modify this code. The content of this method is always
  33.      * regenerated by the Form Editor.
  34.      */
  35.     @SuppressWarnings("unchecked")
  36.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  37.     private void initComponents() {
  38.  
  39.         jPanel1 = new javax.swing.JPanel();
  40.         jPanel2 = new javax.swing.JPanel();
  41.         jLabel1 = new javax.swing.JLabel();
  42.         jPanel3 = new javax.swing.JPanel();
  43.         jLabel2 = new javax.swing.JLabel();
  44.         jLabel3 = new javax.swing.JLabel();
  45.         jLabel4 = new javax.swing.JLabel();
  46.         jLabel5 = new javax.swing.JLabel();
  47.         txtUser = new javax.swing.JTextField();
  48.         txtPassword = new javax.swing.JPasswordField();
  49.         cmbTipo = new javax.swing.JComboBox<>();
  50.         jLabel6 = new javax.swing.JLabel();
  51.         btbLogIn = new javax.swing.JButton();
  52.         btnSalir = new javax.swing.JButton();
  53.  
  54.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  55.         setUndecorated(true);
  56.         setResizable(false);
  57.         setSize(new java.awt.Dimension(800, 400));
  58.  
  59.         jPanel1.setBackground(new java.awt.Color(255, 255, 255));
  60.         jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  61.  
  62.         jPanel2.setBackground(new java.awt.Color(255, 255, 255));
  63.         jPanel2.setForeground(new java.awt.Color(255, 255, 255));
  64.         jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  65.  
  66.         jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/log0.png"))); // NOI18N
  67.         jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  68.         jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, 320, 400));
  69.  
  70.         jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 310, 400));
  71.  
  72.         jPanel3.setBackground(new java.awt.Color(255, 255, 255));
  73.  
  74.         jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/icons8_male_user_50px.png"))); // NOI18N
  75.         jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
  76.  
  77.         jLabel3.setFont(new java.awt.Font("Montserrat Black", 1, 14)); // NOI18N
  78.         jLabel3.setForeground(new java.awt.Color(122, 14, 2));
  79.         jLabel3.setText("USUARIO:");
  80.  
  81.         jLabel4.setFont(new java.awt.Font("Montserrat Black", 1, 14)); // NOI18N
  82.         jLabel4.setForeground(new java.awt.Color(122, 14, 2));
  83.         jLabel4.setText("PASSWORD:");
  84.  
  85.         jLabel5.setFont(new java.awt.Font("Montserrat Black", 1, 14)); // NOI18N
  86.         jLabel5.setForeground(new java.awt.Color(122, 14, 2));
  87.         jLabel5.setText("TIPO DE USUARIO:");
  88.  
  89.         txtUser.setFont(new java.awt.Font("Montserrat", 1, 12)); // NOI18N
  90.         txtUser.setForeground(new java.awt.Color(122, 14, 2));
  91.         txtUser.setBorder(null);
  92.  
  93.         txtPassword.setFont(new java.awt.Font("Montserrat", 1, 12)); // NOI18N
  94.         txtPassword.setForeground(new java.awt.Color(122, 14, 2));
  95.         txtPassword.setBorder(null);
  96.  
  97.         cmbTipo.setFont(new java.awt.Font("Montserrat", 1, 12)); // NOI18N
  98.         cmbTipo.setForeground(new java.awt.Color(122, 14, 2));
  99.         cmbTipo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "administrador", "diseñador", "supervisor" }));
  100.  
  101.         jLabel6.setFont(new java.awt.Font("Montserrat Black", 1, 18)); // NOI18N
  102.         jLabel6.setForeground(new java.awt.Color(122, 14, 2));
  103.         jLabel6.setText("LOG IN");
  104.  
  105.         btbLogIn.setBackground(new java.awt.Color(255, 255, 255));
  106.         btbLogIn.setFont(new java.awt.Font("Montserrat", 1, 14)); // NOI18N
  107.         btbLogIn.setForeground(new java.awt.Color(122, 14, 2));
  108.         btbLogIn.setText("LOG IN ");
  109.         btbLogIn.addActionListener(new java.awt.event.ActionListener() {
  110.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  111.                 btbLogInActionPerformed(evt);
  112.             }
  113.         });
  114.  
  115.         btnSalir.setBackground(new java.awt.Color(255, 255, 255));
  116.         btnSalir.setFont(new java.awt.Font("Montserrat", 1, 14)); // NOI18N
  117.         btnSalir.setForeground(new java.awt.Color(122, 14, 2));
  118.         btnSalir.setText("SALIR");
  119.         btnSalir.addActionListener(new java.awt.event.ActionListener() {
  120.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  121.                 btnSalirActionPerformed(evt);
  122.             }
  123.         });
  124.  
  125.         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
  126.         jPanel3.setLayout(jPanel3Layout);
  127.         jPanel3Layout.setHorizontalGroup(
  128.             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  129.             .addGroup(jPanel3Layout.createSequentialGroup()
  130.                 .addGap(61, 61, 61)
  131.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  132.                     .addComponent(jLabel5)
  133.                     .addComponent(jLabel4)
  134.                     .addComponent(jLabel3))
  135.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  136.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  137.                     .addComponent(txtUser, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
  138.                     .addComponent(txtPassword)
  139.                     .addComponent(cmbTipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  140.                 .addContainerGap(45, Short.MAX_VALUE))
  141.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
  142.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  143.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  144.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
  145.                         .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  146.                             .addComponent(jLabel6)
  147.                             .addComponent(jLabel2))
  148.                         .addGap(179, 179, 179))
  149.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
  150.                         .addComponent(btnSalir, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
  151.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  152.                         .addComponent(btbLogIn)
  153.                         .addGap(99, 99, 99))))
  154.         );
  155.         jPanel3Layout.setVerticalGroup(
  156.             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  157.             .addGroup(jPanel3Layout.createSequentialGroup()
  158.                 .addGap(65, 65, 65)
  159.                 .addComponent(jLabel2)
  160.                 .addGap(18, 18, 18)
  161.                 .addComponent(jLabel6)
  162.                 .addGap(42, 42, 42)
  163.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  164.                     .addComponent(jLabel3)
  165.                     .addComponent(txtUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  166.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  167.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  168.                     .addComponent(jLabel4)
  169.                     .addComponent(txtPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  170.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  171.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  172.                     .addComponent(jLabel5)
  173.                     .addComponent(cmbTipo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  174.                 .addGap(34, 34, 34)
  175.                 .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  176.                     .addComponent(btbLogIn, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  177.                     .addComponent(btnSalir, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
  178.                 .addContainerGap(59, Short.MAX_VALUE))
  179.         );
  180.  
  181.         jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 0, 450, 400));
  182.  
  183.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  184.         getContentPane().setLayout(layout);
  185.         layout.setHorizontalGroup(
  186.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  187.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  188.         );
  189.         layout.setVerticalGroup(
  190.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  191.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  192.         );
  193.  
  194.         pack();
  195.     }// </editor-fold>                        
  196.  
  197.     private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {                                        
  198.  
  199.         int respuesta = JOptionPane.showConfirmDialog(null, "Quiere Salir?", "Atención",
  200.                 JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
  201.         if (respuesta == JOptionPane.YES_OPTION) {
  202.             this.dispose();
  203.             System.exit(0);
  204.         }
  205.     }                                        
  206.  
  207.     private void btbLogInActionPerformed(java.awt.event.ActionEvent evt) {                                        
  208.         operaciones op = new operaciones();
  209.  
  210.         try {
  211.  
  212.             String userStr = txtUser.getText();
  213.             String passStr = txtPassword.getText();
  214.             String puestoStr = cmbTipo.getSelectedItem().toString();
  215.             //Socket s = new Socket("localhost", 5000);
  216.  
  217.             if (operaciones.logeado(userStr, passStr, puestoStr, this)) {
  218.                 if (puestoStr == "administrador") {
  219.                     new vistaAdmin().setVisible(true);
  220.                     this.dispose();
  221.                 }
  222.                 if (puestoStr == "diseñador") {
  223.                     new vistaDiseñador().setVisible(true);
  224.                     this.dispose();
  225.                 }
  226.                 if (puestoStr == "supervisor") {
  227.                     new vistaSupervisor().setVisible(true);
  228.                     //new Servidor(userStr, s).setVisible(true);
  229.                     this.dispose();
  230.                 }
  231.  
  232.             } else {
  233.                 JOptionPane.showMessageDialog(null, "Verificar el usaurio/contraseña");
  234.             }
  235.  
  236.         } catch (Exception e) {
  237.             JOptionPane.showMessageDialog(this, "Verifique la informacion");
  238.         }
  239.  
  240.         //---------------- Metodo para logear en server ------------------//
  241.        
  242.         try {
  243.            
  244.             String id = txtUser.getText();// username
  245.             int port = 8818; // puerto
  246.             Socket s = new Socket("localhost", port); // crea un socket
  247.             DataInputStream inputStream = new DataInputStream(s.getInputStream()); // crea input y  output stream
  248.             DataOutputStream outStream = new DataOutputStream(s.getOutputStream());
  249.             outStream.writeUTF(id); // envia el  username al output stream
  250.  
  251.             String msgFromServer = new DataInputStream(s.getInputStream()).readUTF(); // receive message on socket
  252.             if (msgFromServer.equals("Username already taken")) {//if server sent this message then prompt user to enter other username
  253.                 JOptionPane.showMessageDialog(null, "Username already taken\n"); // show message in other dialog box
  254.             } else {
  255.                 String puestoStr = cmbTipo.getSelectedItem().toString();
  256.                  new controlador.ClientView(id, s);
  257.                
  258.                
  259.                
  260.             }
  261.         } catch (Exception ex) {
  262.             ex.printStackTrace();
  263.         }
  264.  
  265.  
  266.     }                                        
  267.  
  268.     /**
  269.      * @param args the command line arguments
  270.      */
  271.     public static void main(String args[]) {
  272.         /* Set the Nimbus look and feel */
  273.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  274.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  275.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  276.          */
  277.         try {
  278.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  279.                 if ("Nimbus".equals(info.getName())) {
  280.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  281.                     break;
  282.                 }
  283.             }
  284.         } catch (ClassNotFoundException ex) {
  285.             java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  286.         } catch (InstantiationException ex) {
  287.             java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  288.         } catch (IllegalAccessException ex) {
  289.             java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  290.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  291.             java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  292.         }
  293.         //</editor-fold>
  294.  
  295.         /* Create and display the form */
  296.         java.awt.EventQueue.invokeLater(new Runnable() {
  297.             public void run() {
  298.                 new login().setVisible(true);
  299.             }
  300.         });
  301.     }
  302.  
  303.     // Variables declaration - do not modify                    
  304.     private javax.swing.JButton btbLogIn;
  305.     private javax.swing.JButton btnSalir;
  306.     private javax.swing.JComboBox<String> cmbTipo;
  307.     private javax.swing.JLabel jLabel1;
  308.     private javax.swing.JLabel jLabel2;
  309.     private javax.swing.JLabel jLabel3;
  310.     private javax.swing.JLabel jLabel4;
  311.     private javax.swing.JLabel jLabel5;
  312.     private javax.swing.JLabel jLabel6;
  313.     private javax.swing.JPanel jPanel1;
  314.     private javax.swing.JPanel jPanel2;
  315.     private javax.swing.JPanel jPanel3;
  316.     private javax.swing.JPasswordField txtPassword;
  317.     private javax.swing.JTextField txtUser;
  318.     // End of variables declaration                  
  319. }
  320.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement