Guest User

Untitled

a guest
Jul 31st, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.io.IOException;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.ResultSet;
  8. import java.sql.Statement;
  9.  
  10. import javax.swing.*;
  11.  
  12. class VentanaFinal extends JFrame
  13. {
  14. private JTabbedPane tabbedPane;
  15. private JPanel panel1;
  16. private JPanel panel2;
  17. private JTextField txtUser,txtPass;
  18. private JLabel lblUser,lblPass;
  19. private JButton btnAceptar,btnCancelar,btnJugar,btnRegistrarse;
  20. public VentanaFinal()
  21. {
  22. setTitle("Login Usuarios");
  23.  
  24. JPanel topPanel = new JPanel();
  25. topPanel.setLayout( new BorderLayout() );
  26. getContentPane().add( topPanel );
  27.  
  28. // Create the tab pages
  29. createPage1();
  30. createPage2();
  31.  
  32. // Create a tabbed pane
  33. tabbedPane = new JTabbedPane();
  34. tabbedPane.addTab( " Usuario Registrado ", panel1 );
  35. tabbedPane.addTab( " Invitado ", panel2 );
  36. topPanel.add( tabbedPane, BorderLayout.CENTER );
  37. }
  38.  
  39. public void createPage1()
  40. {
  41. panel1 = new JPanel();
  42. panel1.add( Box.createVerticalStrut(50) );
  43. panel1.setLayout(new FlowLayout());
  44. txtUser = new JTextField(10); //numero de caracteres maximo en el cuadro de texto
  45. lblUser = new JLabel("Usuario: ");
  46. txtUser.setToolTipText("Escriba su nombre de usuario");
  47.  
  48. panel1.add(lblUser);
  49. panel1.add(txtUser);
  50.  
  51. txtPass = new JPasswordField(10);//numero de caracteres maximo en el cuadro de texto
  52. lblPass = new JLabel("Contraseña: ");
  53. txtPass.setToolTipText("Escriba su contraseña");
  54.  
  55. panel1.add(lblPass);//añadimos la etiqueta lblpass
  56. panel1.add(txtPass);//añadimos el cammpo de texto txtPass
  57.  
  58. btnAceptar = new JButton("Aceptar");
  59. //establecer Boton aceptar por defecto
  60. getRootPane().setDefaultButton(btnAceptar);
  61.  
  62. btnCancelar = new JButton("Cancelar");
  63. panel1.add(btnAceptar);
  64. panel1.add(btnCancelar);
  65. ActionListener escuchadorbtnAceptar = new ActionListener()
  66. {
  67. public void actionPerformed(ActionEvent evt)
  68. {
  69. try
  70. {
  71. //chekar si el usuario escrbio el nombre de usuario y pw
  72. if (txtUser.getText().length() > 0 && txtPass.getText().length() > 0 )
  73. {
  74. // Si el usuario si fue validado correctamente
  75. if( validarUsuario( txtUser.getText(), txtPass.getText() ) ) //enviar datos a validar
  76. {
  77. // Codigo para mostrar la ventana principal
  78. setVisible(false);
  79. //ARRANCAR EL JUEGO
  80.  
  81.  
  82. }
  83. else
  84. {
  85. JOptionPane.showMessageDialog(null, "El nombre de usuario y/o contrasenia no son validos.");
  86. JOptionPane.showMessageDialog(null, txtUser.getText()+" " +txtPass.getText() );
  87. txtUser.setText(""); //limpiar campos
  88. txtPass.setText("");
  89.  
  90. txtUser.requestFocusInWindow();
  91. }
  92.  
  93. }
  94. else
  95. {
  96. JOptionPane.showMessageDialog(null, "Debe escribir nombre de usuario y contraseña.\n" +
  97. "NO puede dejar ningun campo vacio");
  98. }
  99.  
  100. } catch (Exception e)
  101. {
  102. e.printStackTrace();
  103. }
  104.  
  105. }
  106. };
  107. btnAceptar.addActionListener(escuchadorbtnAceptar); // Asociar escuchador para el boton Aceptar
  108.  
  109.  
  110. // Agregar listener al boton Cancelar
  111. ActionListener listenerCancelar=new ActionListener()
  112. {
  113. public void actionPerformed(ActionEvent evt)
  114. {
  115. System.exit(0); // terminar el programa
  116. }
  117. };
  118. btnCancelar.addActionListener(listenerCancelar); // Asociar escuchador para el boton Cancelar
  119. setSize(400,170); // Tamanio del Frame
  120. setResizable(false); // que no se le pueda cambiar el tamanio
  121. //Centrar la ventana de autentificacion en la pantalla
  122. Dimension tamFrame=this.getSize();//para obtener las dimensiones del frame
  123. Dimension tamPantalla=Toolkit.getDefaultToolkit().getScreenSize(); //para obtener el tamaño de la pantalla
  124. setLocation((tamPantalla.width-tamFrame.width)/2, (tamPantalla.height-tamFrame.height)/2); //para posicionar
  125. setVisible(true); // Hacer visible al frame
  126.  
  127. } // fin de constructor
  128.  
  129. // Metodo que conecta con el servidor MYSQL y valida los usuarios
  130. boolean validarUsuario(String elUsr, String elPw) throws IOException
  131. {
  132. try
  133. {
  134. //conectamos con la base de datos
  135. Connection unaConexion = DriverManager.getConnection ("jdbc:mysql://localhost/bdlogin","root", "root");
  136. // Preparamos la consulta
  137. Statement instruccionSQL = unaConexion.createStatement();
  138. ResultSet resultadosConsulta = instruccionSQL.executeQuery ("SELECT * FROM usuarios WHERE usuario='"+elUsr+"' AND password='"+ elPw+"'");
  139.  
  140. if( resultadosConsulta.first() ) // si es valido el primer reg. hay una fila, tons el usuario y su pw existen
  141. return true; //usuario validado correctamente
  142. else
  143. return false; //usuario validado incorrectamente
  144.  
  145. } catch (Exception e)
  146. {
  147. e.printStackTrace();
  148. return false;
  149. }
  150.  
  151. }
  152.  
  153.  
  154.  
  155.  
  156. public void createPage2()
  157. {
  158. panel2 = new JPanel();
  159. panel2.add( Box.createVerticalStrut(90) );
  160. panel2.setLayout(new FlowLayout());
  161.  
  162.  
  163. btnJugar = new JButton("Jugar");
  164. btnRegistrarse = new JButton("Registrarse");
  165. btnJugar.setToolTipText("Solo los usuarios registrados podran guardar puntuaciones ni partidas, registrese");
  166.  
  167. panel2.add(btnJugar);
  168. panel2.add(btnRegistrarse);
  169. }
  170.  
  171.  
  172.  
  173. // Main method to get things started
  174. public static void main( String args[] )
  175. {
  176. // Create an instance of the test application
  177. VentanaFinal mainFrame = new VentanaFinal();
  178. mainFrame.setVisible( true );
  179. }
  180. }
Add Comment
Please, Sign In to add comment