Software Médico

SimpleHC Medium

Un software pensado para toda la comunidad médica


Para solicitar desarrollo de software y/o aplicaciones personalizadas, escríbenos al formulario de contacto





Breaking News





¡BUSCA MÁS CONTENIDO AQUÍ!



▷ Curso de JAVA: Cómo hacer un Login, con usuario y contraseña fijos (sin conexión a Base de datos)?







Al realizar una aplicación, en especial una que maneja información importante para el usuario y/o empresa que adquiere dicho programa, se hace necesario crear esquemas de seguridad como lo son en primera instancia el acceso al sistema mediante un usuario y contraseña.

Curso de JAVA: Cómo hacer un Login, con usuario y contraseña fijos (sin conexión a Base de datos)?
CURSO DE JAVA: Login (Usuario y Clave / Estáticos)


Luego de haber aprendido en el capítulo anterior a agregar datos de un formulario a una tabla, y eliminarlos de la misma, en esta parte del curso aprenderemos a desarrollar un sencillo formulario de acceso o Login, el cual consta de un usuario y contraseña fijos; es decir, establecidos por el desarrollador en el código del software, lo que los hace inmodificables una vez se haya compilado el programa.

Explicación por VideoTutorial:





Explicación por Foto-Tutorial:

Procederemos a crear un nuevo formulario el cual llamaremos Login (te podría interesar ver cómo crear un proyecto, un paquete y un formulario), y a este le
agregaremos 2 JLabel (a uno le asignamos el texto “USUARIO”, y al otro el texto “CLAVE”), 1 JTextField (donde se digitará el usuario para ingresar al sistema), 1 JPasswordField (donde se digitará la contraseña para ingresar al sistema), y por último colocamos 1 JButton (a este le asignamos el texto “INGRESAR”):

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password


Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Después lo que haremos será darle un nombre a cada componente, ej. :

Campo de texto usuario= txtUsuario
Campo de texto de la clave= jpassClave
Botón de ingreso= btnIngresar

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Luego damos doble clic sobre el botón “INGRESAR”, y borramos el comentario que trae por defecto:

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Pegamos el siguiente código dentro del método del botón “INGRESAR”:


char clave[]=jpassClave.getPassword();

String clavedef=new String(clave);


if (txtUsuario.getText().equals("Administrador") && clavedef.equals("12345")){


                    this.dispose();


                    JOptionPane.showMessageDialog(null, "Bienvenido\n"
                    + "Has ingresado satisfactoriamente al sistema",   "Mensaje de bienvenida",
                    JOptionPane.INFORMATION_MESSAGE);


                    Formulario1 formformulario1 = new Formulario1();

                    formformulario1.setVisible(true);


            }else {


                    JOptionPane.showMessageDialog(null, "Acceso denegado:\n"
                    + "Por favor ingrese un usuario y/o contraseña correctos", "Acceso denegado",
                    JOptionPane.ERROR_MESSAGE);
           

            }







NOTA: Si deseas una explicación más detallada acerca de cada sección del código anterior puedes visitar el siguiente artículo: Código JAVA: Login, con usuario y contraseña fijos (sin conexión a Base de datos)

Lo que hacemos en el código es guardar el contenido del JPasswordField en un array tipo char, y luego convertimos ese array en un String. Seguidamente realizamos un condicional donde compararemos el contenido de lo que se haya digitado en la caja de texto de usuario y la clave que hemos convertido a String con anterioridad; esta comparación se hace con datos fijos (inmodificables por el usuario); en el caso dado que ambos datos sean correctos, se procederá a cerrar el formulario de acceso y seguidamente se mostrará un cuadro de diálogo dando la bienvenida al sistema y abriendo el formulario principal del programa:

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password


Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password


Si por el contrario digitamos mal los datos de ingreso, nos aparecerá un cuadro de diálogo, advirtiéndonos dicha situación:

Login, Formulario de acceso, Usuario, Contraseña, JAVA, Seguridad, Ingresar al sistema, Password

Si lo que estás necesitando es crear un formulario de acceso un poco más avanzado, te interesará ver nuestro post donde explicamos cómo crear un login con conexión a una base de datos.

Si deseas descargar el video junto con el fascículo del presente tema del Curso de JAVA, sólo debes dirigirte a nuestra Zona de Descargas y dar clic sobre el icono "Curso de JAVA Parte 10".
 
¿Quieres aprender a realizar aún más cosas y personalizar  tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips que hemos estado publicando en este blog, dando clic aquí.

Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos. 
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...

37 comentarios:

  1. Como crear un gestor de descargas que conecte desde mi app a cualquier tipo de extensión de email (hotmail, gmail, yahoomail, otros) y claro, poder entrar a cualquier de este tipo de email?
    Lo que quiero es crear una aplicación que pueda conectarse a cualquier tipo de correo electrónico y así poder descargar todos los archivos adjuntos en una carpeta que seleccionemos o en cualquier dispositivo, ayúdenme por favor!!!

    ResponderBorrar
  2. buena amigo me salio gracias

    ResponderBorrar
    Respuestas
    1. De nada estimado visitante, es un gusto poder ayudarte :)

      Bendiciones...

      Borrar
  3. oye amigo como puedo contactarte para pedir mas ayuda sobre programacion? gracias x subir tus videos dios de bendice :)

    ResponderBorrar
    Respuestas
    1. Saludos estimado visitante.
      Puedes dirigirte al formulario de contacto dando clic aquí, y una vez me llegue tu mensaje te estaré respondiendo lo más pronto posible.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  4. podes pasar el codigo fuente estoy haciendo un juego de ahorcado en java y el profesor me pide que al juego le añada usuario y contraseña para poder ingresar y lo hice pero cuando me sale el cartel de ingreso correcto esa ventana no se cierra y no puedo ingresar al juego osea necesito un codigo para cuando el usuario ingrese si es correcto permita accerder al juego y pues sino que no pueda accerder.

    ResponderBorrar
    Respuestas
    1. Saludos estimado Javier Soneira.

      Precisamente en este post se te explica lo que estás necesitando, en caso de que necesites entender un poco el código fuente, puedes encontrar la explicación del mismo dando CLIC AQUÍ.

      Si lo que necesitas es un login que te permita manejar varios usuarios y almacenarlos en una base de datos, puedes dirigirte al post:

      Curso de JAVA: Cómo crear un Login? (Con conexión a base de datos).

      Cualquier inquietud me comentas.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  5. Ya dos años y continua sirviendo! Con un pequeño warning, en la parte de
    txtUsuario.getText().equals("Admin") && jpassContrasena.equals("12345")
    me dice que .equals() on incompatible types
    Y me manda siempre el mensaje de error, nunca me aparece que ingresé con éxito
    alguna idea?

    ResponderBorrar
    Respuestas
    1. Saludos estimada Brenda.
      Debes primero capturar el contenido de tu JPasswordField y almacenarlo en un array tipo char y luego convertirlo en String, y este String es el que compararás con tu clave predeterminada, usando el método .equals():

      char clave[]=jpassClave.getPassword();
      String clavedef=new String(clave);

      Si necesitas entender un poco más este código, puedes ver la explicación de cada una de las líneas, dando CLIC AQUÍ.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
    2. Tengo un problema en esta linea char clave[]=botoniniciar.getPassword( getPassword me marca error

      Borrar
  6. hola master lo realize el formulario y no tiene error , pero al momento de ejecucion me aparece este error ..
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
    me podrias ayudar ? gracias

    ResponderBorrar
    Respuestas
    1. Saludos estimado visitante.

      Revisa los import de tu Clase (en la parte superior de la misma) y mira si hay algún error y borra el que te sale resaltado con una línea roja. Es posible que luego de que hagas eso, en alguna línea de tu código te salga error, pero encontrarás en la parte izquierda (en el caso de que uses NetBeans IDE) un bombillito al cual le darás clic y te saldrán varias opciones y escogerás la que diga importar.

      Si aún no logras corregir tu inconveniente, otro paso que puedes seguir es cambiar el Layout de tu Formulario JAVA, si no sabes cómo hacerlo, puedes ver la explicación dando CLIC AQUÍ.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  7. muy buen tutorial pero podrias enseñar hacer un login con diferentes tipos de usuarios (Administrador,usuario,Normal) en java con netbeans GRASIAS...

    ResponderBorrar
    Respuestas
    1. Saludo estimado Kevin, la mejor manera para implementar usuarios con distintos niveles de acceso, es usando un Login con Bases de datos, ya que podrás guardar en las tablas de la misma BD, los niveles y permisos que tendrán los usuarios en el programa que estés creando.

      Para saber cómo crear un Login con conexión a bases de datos, da ¡CLIC AQUÍ!

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar

  8. String Usario = jTextFieldUsuario.getText(); //lee los datos que as introducido en el campo de texto jtextFieldUsuario
    String Contraseña = String.valueOf(jPasswordFieldContraseña.getPassword()); //lee los datos que as introducido en el campo Contraseña

    if (Usario.equals("Edinson") && Contraseña.compareTo("123456") == 0) {

    JOptionPane.showMessageDialog(this, " Bienvenido Al Sistema ");






    } else if (Usario.equals("") && Contraseña.equals("")) {

    JOptionPane.showMessageDialog(this, "Por favor rellene todos los campos...", "Verifique", JOptionPane.ERROR_MESSAGE);


    } else if (Usario.equals("Edinson")) {

    JOptionPane.showMessageDialog(null, "Error al ingresar, Contraseña Incorrecta"," Error ",JOptionPane.ERROR_MESSAGE);

    } else if (Contraseña.compareTo("123456") == 0) {

    JOptionPane.showMessageDialog(null, "Error al ingresar, Usuario Incorrecto","Error",JOptionPane.ERROR_MESSAGE);
    } else {
    JOptionPane.showMessageDialog(null, "Error al ingresar, Usuario y Contraseña Incorrecto","Error",JOptionPane.ERROR_MESSAGE);


    }

    ResponderBorrar
  9. Como podría hacer que un jmenuitem se habilite con un login

    ResponderBorrar
    Respuestas
    1. Saludos estimado visitante.

      De acuerdo a tu interrogante, tú lo que deseas hacer es que una vez ingreses a tu aplicación por medio de un Login, se pueda habilitar o quede deshabilitado un jmenuitem.
      Para ello, en el código del formulario de logueo, una vez compruebes que los datos de acceso sean correctos (clave y usuario), no sé que parámetros usarás pero podrías usar un condicional if donde verifiques que dependiendo del usuario (si el usuario es admin o no) procederás a aplicar la línea de código que te permita habilitar o deshabilitar el jmenuitem (Clic aquí para ver la línea de código).

      Bendiciones...

      Borrar
  10. Hola me gustaria saber como puedo genrar solo 3 intentos al dicitar la clave y si pasa de los intentos como enviar un mensaje de clave bloqueada !

    ResponderBorrar
    Respuestas
    1. Saludos estimado visitante.
      Te voy a dar una idea general de lo que puedes hacer:

      1. Te recomiendo usar un Login que tenga conexión a base de datos, para saber cómo desarrollarlo procede a dar CLIC AQUÍ.

      2. Crea una variable de tipo int la cual puedes llamar "intentos", y debes inicializarla con valor de "0" (cero).

      3. Ahora, en el condicional "if/else" donde se verifica si digita bien o no los datos de ingreso, si los datos no son correctos luego de la línea de código que muestra el cuadro de diálogo (JOptionPane) que avisa un acceso denegado, deberás sumarle a la variable "intentos" un valor de "1" uno. De forma seguida, verificarás qué valor tiene la variable "intentos" y si dicho valor es igual a "3" (tres) mostrarás un cuadro de diálogo donde avisarás al usuario que la clave ha sido bloqueada.

      Te dejo la idea hasta este punto, una vez los desarrolles me avisas para explicarte lo siguiente que debes hacer.

      Bendiciones...

      Borrar
  11. hola amigo, disculpe que te moleste solo tengo esta pequeña duda, quiciera poner en un jframe boton 1 y un boton 2, en el primer boton al momemnto de oprimir me ejecute este programa y tambien con el boton 2 pues el otro programa, ya lo intente pero me da un error que ya busque pero encuentro algo parecido gracias te mando el codigo funcionando individualmente gracias.


    codigo 1:

    package BresenhamPaq;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.JFrame;

    public class Bresenhams extends JFrame {
    public static void main(String[] args) {
    Bresenhams bresenhans = new Bresenhams();
    }


    Bresenhams ()



    {super("Bresenham");

    addWindowListener(new WindowAdapter()

    {public void windowClosing(WindowEvent e){System.exit(0);}});

    setSize(340, 230);
    //aqui abajo el codigo del color
    getContentPane().setBackground(new java.awt.Color(255,0,0));
    //aqui el codigo de centrar pantalla
    Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
    int height = pantalla.height;
    int width = pantalla.width;
    setSize(width/2, height/2);
    setLocationRelativeTo(null);
    setVisible(true);
    add("Center", new CvBresenham());

    show();

    }
    }




    class CvBresenham extends Canvas
    { float rWidth = 10.0F, rHeight = 7.5F, pixelSize;
    int centerX, centerY, dGrid = 10, maxX, maxY;
    void initgr()
    {Dimension d;
    d= getSize();
    maxX = d.width - 1;
    maxY = d.height -1;
    pixelSize = Math.max(rWidth/maxX, rHeight/maxY);
    centerX = maxX/2; centerY = maxY/2;
    }

    int iX (float x ) {return Math.round(centerX + x/pixelSize);}
    int iY (float x ) {return Math.round(centerY + x/pixelSize);}
    //aqui codigo de pixel

    void drawLine (Graphics g, int xP, int yP, int xQ, int yQ)
    { int x = xP, y = yP, D = 0, HX = xQ - xP, HY = yQ - yP,
    c, M, xInc = 1, yInc = 1;
    if (HX < 0){xInc = -1; HX = -HX;}
    if (HY < 0){yInc = -1; HY = -HY;}
    if(HY <= HX)
    { c = 2 * HX; M = 2 * HY;
    for(; ;)
    { g.drawLine(x, y, x, y);
    if (x==xQ) break;
    x += xInc;
    D += M;
    if (D > HX) {y += yInc; D -= c;}
    }
    }

    else
    { c = 2 * HY; M = 2 * HX;
    for(; ;)
    { g.drawLine(x, y, x, y);
    if (y == yQ) break;
    y += yInc;
    D += M;
    if (D > HY) {x += xInc; D -= c;}

    }

    }

    }
    void showGrid(Graphics g)
    { for (int x = dGrid; x<=maxX; x+=dGrid)
    for (int y = dGrid;y<= maxY; y+=dGrid)
    g.drawLine(x, y, x, y);
    }

    public void paint(Graphics g)
    { initgr();
    showGrid(g);
    //metodo grip hace que se vean los puntos
    //
    drawLine(g, 150,100,100,200);
    drawLine(g,211,60,251,60);
    drawLine(g,211,60,211,100);
    drawLine(g,211,100,251,100);
    drawLine(g,251,100,251,140);
    drawLine(g,211,140,251,140);
    }



    }

    ResponderBorrar

  12. codigo 2.

    import javax.swing.*;
    import java.awt.*;

    public class TestFiguras extends JFrame{
    public TestFiguras(){
    setSize(400,400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setVisible(true);
    }

    public static void main(String a[]){
    new TestFiguras();
    }

    public void paint(Graphics g){
    g.drawOval(40, 40, 60, 60); //Dibuja un circulo
    g.drawRect(80, 30, 200, 200); // Dibuja un cuadrado
    g.drawRect(200, 100, 100, 200); // Dibuja un rectángulo
    }
    }





    muchas gracias y si tubiera otras dudas(cuanto me cobrarias solo por responder y explikar el codigo con comentarios muchas gracias amigo. Bendiciones

    ResponderBorrar
    Respuestas
    1. Saludos estimado Jussaviff Flores.

      Primeramente te recomiendo que le des un vistazo al post donde explico cómo abrir un formulario JAVA desde otro (CLIC AQUÍ PARA VERLO).

      En caso de que sigas teniendo inconvenientes, por favor escríbeme y envíame tu proyecto al correo "desarrollouh@hotmail.com".

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  13. Hola amigo, excelente tutorial, me fue de gran ayuda, tengo una pregunta y espero me puedas responder, quiero hacer un login con base de datos, pero lo que quiero hacer es que, al momento de ingresar con cierto usuario, en el siguiente formulario me muestre el nombre del usuario, he investigado este tema por algún tiempo y no he encontrado material, aparte que hace poco empecé con programación.

    ResponderBorrar
    Respuestas
    1. Saludos estimado Isai Cervantes.

      Si deseas realizar un Login con conexión a base de datos, te recomiendo ver el post donde lo explicamos detalladamente, para ello da CLIC AQUÍ.

      Para lo otro que quieres hacer, de mostrar el "Nombre del Usuario" en el siguiente formulario, puedo deducir que te refieres a alguna de las 2 siguientes situaciones:

      1.El Nombre de Usuario que digitas en el Login como tal, ej. "User".
      2.El Nombre de la persona a quien se le ha asignado el usuario, ej. "Carlos Cortés".

      En el caso de que sea la primera situación, sólo debes proceder a capturar el contenido del JTextField ubicado en el Login, donde se ha digitado dicho usuario y asignárselo al componente (donde lo mostrarás) del formulario que vas a abrir.

      Si tu caso es el segundo, deberás igualmente capturar el contenido del JTextField localizado en el Login donde se ha digitado el usuario y usarlo para poder realizar una consulta a la base de datos, para así poder traer el nombre de la persona a la que pertenece dicho usuario y así mostrarlo en el siguiente formulario a abrir.

      Si necesitas obtener una explicación detallada sobre cómo consultar información en tu base de datos desde JAVA, puedes ver un artículo al respecto dando CLIC AQUÍ.

      Cualquier duda me comentas.

      ¡CRISTO TE AMA Y ESTÁ CONTIGO!

      Bendiciones...

      Borrar
  14. amigo Dios te bendiga por todo lo que haces, tengo una pregunta y espero me la ayudes a resolver:
    tengo un software hecho en Java Swing que se conecta a una BD mySql alojada en CPANEL, pero cuando no hay internet la aplicación no funciona ni sirve para nada. Cómo puedo hacer para que corra así haya o no haya internet (sin que la opción sea un localHost ya que la info la requiero disponible online) ?

    ResponderBorrar
  15. agregar, eliminar, consultar, ingresar sin usar base de datos

    ResponderBorrar
  16. hola, pregunta, si el usuario no escribe "Administrador" sino "administrador"? como se haria en el if para que acepte las dos opciones?
    if (Usario.equals("Edinson") o ("edinson")...


    gracias!!

    ResponderBorrar
    Respuestas
    1. Saludos estimado MAlex RM, gracias por escribirnos.

      Te invitamos a que te suscribas a nuestro Canal de YouTube sobre Tecnología y Desarrollo de Software, dando clic aquí.

      Para lograr que te acepte la opción de que puedas escribir el usuario también en minúscula o mayúscula y te permita ingresar, deberás reemplazar el método ".equals()" por ".equalsIgnoreCase()".

      ¡Sólo en CRISTO hay SALVACIÓN!
      ¡CRISTO te Ama!

      ¡Feliz año nuevo para ti y toda tu familia! :)

      Bendiciones...

      Borrar
  17. Hola, muchas gracias por la información. Solo me queda una pregunta, ¿cómo le haría para que pudiera controlar diferentes JFrame? ,por ejemplo, tengo que abrir un JFrame registrar y que cuando lo cierre no se cierre todo el programa, solo que me regrese a un punto anterior y así con otros JFrame. Gracias

    ResponderBorrar
    Respuestas
    1. Saludos estimado Edgar Soto, te recomiendo que veas el siguiente post para que logres tu objetivo:

      Código JAVA: Cerrar un formulario de forma independiente y/o Salir del Sistema.

      Cualquier duda me comentas.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  18. QUIERO SABER EL CODIGO PARA REGISTRO DE TIEMPO DE CUANDO INGRESO AL SISTEMA BASE DE DATOS PHPMYADMI Y ENLAZO CON NETEBEATS SE AGRADECE SU AYUDA ..

    ResponderBorrar
  19. ola buenos dias como ago para crear un logging con usuario y contraseña me pueden ayudar por favor...Gracias

    ResponderBorrar
  20. If given a choice, a person would mostly prefer to eat at home rather than going out to the petrol pumps after a very long day. That is why on-demand fuel delivery apps fit in like a puzzle; they make life easier for the users! Get in touch with Appilab for fuel delivery app development.

    ResponderBorrar
  21. https://lilacinfotech.com/products/lilac-cabture
    Our taxi dispatch software development allows your customers to access the list of licensed cabs that are nearby. You can see the cost of each type of cab service. Your consumers can even access the road map of their destination. Besides, our program is built separately for your clients, taxi drivers, and administrators.

    ResponderBorrar