Por algunas circunstancias me pidieron programar un sistema para un consultorio médico, el único inconveniente era el requisito de que fuese exclusivamente de escritorio, Anda la Osa!; hacía tiempo que no desarrollaba en lenguajes de escritorio. A pesar de mis objeciones para desarrollarlo en web la palabra del jefe prevaleció así que medité un poco en que lenguaje utilizar y terminé decantándome por Java, ¿la principal razón?, el lado de la moneda donde eché la suerte cayó en águila XD.
Después de la fase de análisis la cuestión era seleccionar el entorno de trabajo – El IDE pues, es que decir entorno de trabajo suena más “nice” -, en mis años de escolar toqué Java por primera vez con JCreator , la versión que usaba no difería mucho del actual block de notas, pero ahora me encuentro con dos mastodontes como Eclipse y NetBeans, ¿por que escogí NetBeans? porque esta vez la moneda cayó del otro lado…
Bueno, basta de palabrerías, a lo que te truje Chencha, este será el primer post de lo que espero sea una útil serie de artículos sobre programación de java con el IDE NetBeans. Bien supongamos que ya tenemos instalado el IDE y el SDK de Java (luego escribiré sobre la instalación).
Abrimos NetBeans y creamos un nuevo proyecto: una aplicación java y clic en siguiente.
A la segunda ventana le dan ’siguiente’ y en la tercera escriben el nombre del proyecto que se creará (yo le llamé ‘login’) y desmarcamos la casilla crear clase principal. Clic en finalizar.
Una vez creado nuestro proyecto notaran que no tenemos archivos así que crearemos un paquete de archivos llamado ‘login’
… y ya dentro de nuestro paquete se creará el form principal al que evidentemente llamé ‘principal’
El árbol de nuestro proyecto debe quedar más o menos así:
La idea central de la práctica es no dejar que el usuario pueda acceder al sistema sin antes estar debidamente identificado; Lo primero que haremos es agregar un componente Jpanel al formulario ‘principal’
.. Y dentro del panel pueden agregar cualquier contenido, en el inspector de componentes podrás ver los elementos que has insertado al formulario
Ahora vamos a correr nuestro programa para ver su apariencia, va a aparecer una pantalla indicándonos que el proyecto no cuenta con una clase principal y nos pregunta si queremos hacer que este form sea la clase principal, clic en ok.
Nos toca ahora hacer la ventanita que nos pedirá el nombre de usuario y contraseña, pare ello vamos a agregar al formulario un control dialog
Una vez agregado el control se podrá notar que… nada! no se notará nada, y es que el control no es visible desde form pero si lo podemos ver en el inspector de componentes y si le damos doble clic al elemento entonces lo haremos visible para poder trabajar con él. Le cambiaré el nombre de variable por dialogo.
Ahora, una vez en el Jdialog hay que agregar un Text Field , un password Field y un botón para dejar el Jdialog más o menos así:
Si corres el programa nuevamente notaras que el dialogo no es visible ya que es mediante programación que lograremos eso. Vamos al método constructor del formulario, diríjase a la pestaña que está a la derecha del inspector y de doble clic en el método constructor.
Vamos a agregar algo de código en el método constructor que te debe quedar de la siguiente manera ( el método initComponents es creado por NetBeans, no lo toques):
public principal() {
initComponents();
dialogo.setSize(350, 220);
dialogo.setLocationRelativeTo(this);
dialogo.setTitle("Inicio de Sesión");
dialogo.setVisible(true);
}
Resumiendo, la función setSize indica el ancho y largo del dialogo, con setLocationRelativeTo(this) posicionamos el dialogo en el centro de la pantalla, setTitle designa el titulo del dialogo y setVisible muestra el dialogo. Ahora corre el programa y veras el dialogo detrás del formulario principal.
Vamos a desaparecer el form principal para que solo se vea el dialogo de inicio de sesión, vaya al método principal del formulario
y la propiedad true de esta línea cámbiala a false, luego corre el form y solo veras el dialogo.
new principal().setVisible(false);
Sin embargo si cerramos el dialogo el programa sigue corriendo aunque no lo veamos, es por ello que vamos programar la acción que realizará el dialogo al cerrarse. Seleccione de nuevo el componente dialog y en el panel de propiedades en la pestaña eventos seleccionamos el evento windowClosing y automáticamente nos creara el código del evento
Al que solo tendrán que agregar esta sencilla línea System.exit(0); de tal modo que el código de ese evento nos quedara así:
private void dialogoWindowClosing(java.awt.event.WindowEvent evt) {
System.exit(0);
}
Con esto al momento de cerrar el dialog, el programa entero se cierra y dejamos de consumir recursos en nuestra maquina. Ya casi terminamos, ahora solo nos toca la validación del login. Vamos a hacer visible de nuevo el componente dialogo y cambiamos los nombres de las variables del TextField y el PasswordField por estos: tusuario y tpassword
Ahora damos doble clic en el botón iniciar sesión para ver el código del ActionPerformed y le agregamos este código:
String usuario=tusuario.getText();
String password=tpassword.getText();
if((usuario.isEmpty())||(password.isEmpty()))
{
JOptionPane.showMessageDialog(null, "Ingrese su nombre de usuario y contraseña");
}
else
{
this.setVisible(true);
dialogo.setVisible(false);
}
En esta lección no veremos nada de acceso a datos así que solo haremos una validación simple; El código anterior nos indica que si el usuario no rellena los campos de usuario y contraseña le aparecerá un mensaje de error haciéndoselo saber pero si rellenó los dos campos entonces el form principal de hará visible y el dialogo desaparecerá.
Una cosa más, para hacer uso del JOptionPane hay que importar la librería javax.swing.JOptionPane de otro modo el programa no va a correr.
ahora si solo resta ejecutar el programa y ver la magia.
Actualización: Aquí esta la entrada de la conexión con Mysql

muy bueno supr clara toda la explicacion spero lograr hacerlo deseame suerte jajajaja! sigue asi ey sabs much
Gracias por los animos Carol, veras que no es nada dificil hacerlo.
Que estes muy bien 🙂
Hola, me preguntaba si sabes unir esto con una base de datos, es decir que haga la busqueda del usuario y contraseña existentes en una base de datos.
Hola diego me parece que lo que necesitas esta en este enlace : Conexion con mysl, saludos.
Hola Amigo Queria hacerte una pregunta la primera Parte en la que pones el codigo se pone en el boton Iniciar Secion? y ahi se crea un metodo? o defrente naa mas explicame eso
public principal() {
initComponents();
dialogo.setSize(350, 220);
dialogo.setLocationRelativeTo(this);
dialogo.setTitle(«Inicio de Sesión»);
dialogo.setVisible(true);
}
este codigo no entiendo en donde lo pones
Hola Miguel, cuando creas una clase en java, netbeans automaticamente crea un metodo constructor con el mismo nombre y ademas tambien crear un metodo que inicia los componentes: initComponents();
fijate en la imagen del post y veras como acceder a ese metodo constructor, en este caso se llama public principal() , dentro de este metodo se encuentra initComponents(); no toques ese metodo, lo unico que tienes que hacer es agregar el resto del codigo dentro de principal() :
dialogo.setSize(350, 220);
dialogo.setLocationRelativeTo(this);
dialogo.setTitle(“Inicio de Sesión”);
dialogo.setVisible(true);
Espero haberte ayudado.
Hola bueno amigo muxas gracias pero masomenos me han dejado este proyecto q para ti debe ser sencillo pero io voy en primer ciclo y recien empiezo y no entiendo musho un favor me podrias ayudar mira dice asi :
Implementar el Siguiente Proyecto:
1.Formulario : Login
(Permite el acceso al Sistema ) un login pero qno sea tan complicado osea
Usuario /……./
Contraseña /……./
(Ingresar) (Salir)
sin agregarle naa mass solo eso q codigos debo ingresar al boton INGRESAR y q metodos eso es lo q no se ps..jeje ya declare mis variables seria : String Usuario,Contraseña; (estoy en lo cierto?) porfa aver si me corriges amigo parece q tu si sabes de esto y me arias un gran favor amigo Gracias desde ya¡¡ Solo quisiera q me envies una explicacion de como deberia hacerlo …GRACIAs
Hola puedes checar este link, desde aqui se realiza el acceso a la base de datos y al final dejo el codigo para descargarlo y que lo pruebes en tu maquina.
Hey muy bien gracias por el aporte es un excelente comentario y me ha ayudado mucho espero poder seguir paso a paso sus trabajos y hacer uso de la reutilizacion de codigo. De Antemano muchas Gracias.
Tec. Carlos M. Galdamez
Eeeyyyy excelente aporte Alberto, estoy empezando mi proyecto de fin de carrera y tengo planeado la programación de un sistema de gestion bibliotecario bajo software libre utilizando como herramientas LENGUAJE: Java, IDE: Netbeans, BASE DE DATO: Postgres. Así que me serviría mucho contar con tu apoyo al consultarte algunas cositas que no me salgan… Espero contar con tu apoyo… Suerte y que sigas tan servicial!!!!
te agradeceria mucho si pudieras ayudar a programar un formulario de busqueda y consulta basándonos sobre este mismo formulario de login, ya que luego podre utilizar los mismos códigos para los demas formularios que necesito, estoy en lo cierto?????
hola…bueno, todo iba bien hasta que implemente el siguiente código:
public principal() {
initComponents();
dialogo.setSize(350, 220);
dialogo.setLocationRelativeTo(this);
dialogo.setTitle(«Inicio de Sesión»);
dialogo.setVisible(true);
}
me sale el siguiente error en todas las lineas de codigo.
«Non-static method SetSize(int, int) Cannot be referenced from a static context»
y así con cada una…me podrías ayudar con ese error…
gracias…..
si me salio pero con conexion a postgres no tendras un ejemplo digo si no es mucho pedir y gracias =)
Hola guadalupe, disculpa pero por ahora no he probado postgres.
hola muy buen post el que realizaste pro la libreria javax.swing.JOptionPane de donde la saco? me urge gracias
Hola Emanuel, la libreria import JOptionPane viene incluida en el Framework de Java, solo tienes que llamarla. En tu codigo ve a la seccion donde importas librerias (en la parte superior) y escribe esta linea:
import javax.swing.JOptionPane;
y listo. Que estes muy bien.
Hola soy la misma Guadalupe del post anterior, (es que hay muchas Guadalupes jejeje) bueno te digo que gracias al codigo que tienes en MYSQL pude hacer lo mismo en postgres, despues de un buen rato, me tarde mucho pero me salio de verdad muchas gracias
Interesantes y claros los ejemplos de solución a los problemas propuestos, me gustaría igualmente compartir conocimientos y aprender de todos.
La explicación de formulario de login muy clara, igualmente, justo estos días estoy trabajando con una pequeña aplicación donde estoy aprendiendo más del uso de los JDialog en java
Nuevamente gracias por las informaciones.
que bien que ta haya agradado el contenido, pronto publicaré mas entradas y gracias por visitar el blog. 🙂
disculpa me sale un error en
isEmpty, que podria ser
Hola Bellota, podrias mostrarme el error que arroja NetBeans?, se me ocurre que estas leyendo el valor de un componente que no existe, checabien la propiedad name de componente.
Hola Alberto, muchas gracias por tu trabajo y vuestro blog.
Mi error es el siguiente:
El dialogo se me ve,con el titulo de Inicio de Sesion y no se ve nada mas,osea,que no se «solapa» con el form.
Hola disculpa fijate que tengo una pregunta esque en mi proyecto tengo que ponesr un usuario y una contraseña especifica y no se como hacerlo por ejemplo usuario : Jose password : Ipm1 que lo valide y que entre
Gracias y muy bueno tu blog
Hola Julio, en este ejemplo tengo este codigo
String usuario=tusuario.getText();
String password=tpassword.getText();
if((usuario.isEmpty())||(password.isEmpty()))
{ //aqui continua el codigo…
Para lo que quieres hacer solo tienes que cambiar esta linea
if((usuario.isEmpty())||(password.isEmpty()))
por esta
if((usuario!=’Jose’)&&(password!=’Ipm1′))
y debe funcionar para ese usuario y contraseña.
hola alberto una consulta ayudame quiero hacer un ingreso de usuario y contraseña, pero antes de eso una ventana con el registro y se guarde; despues de registrarme ingreso todo y me abre otra ventana por decir asi, pero tambien una opcion que modifique ya sea mi usuario y contraseña.
en netbeans
ya vi en lo de julio esta bien para validar un usuario y contraseña he ingresar a una nueva ventana pero si quiero midificar eso como hago? osea modificar usuario o contraseña y me valide lo modifciado. gracias responde tengo pocos dias para esto.
Hola Juan, visita este articulo http://pharalax.com/blog/2010/08/25/java-y-netbeans-ii-conexion-con-java-y-mysql/
ahi coloqué informacion sobre como loguearse desde base de datos, al final dejé los archivos para descargar. espero que te sirva.
Hola muchas gracias por tu aporte pero queria saber si nome puedes dar el nombre de un libro o una pagina web donde pueda aprender a programar con formularios en java por favor lo necesito urgente
Luis un favor, la verdad quiciera saber como validar el usuario y la contraseña jalando de un archivo de texto donde se guardan la lista de usuarios y contraseñas, por favor ayudame.
Hola, yo hice un proyecto en netbans 7.0 utilizando el hibernate. resulta ser que tengo codigo para cambiar de usuario pero ese no me sirve ya que es con la variable Conex y yo no la uso, me puedas guiar de como cerrar sesion y que la interfaz de logueo quede activa????
Hola, mira tengo un problema, soy nuevo en este tema y no se como activar este comando
import javax.swing.JOptionPane;
me podrias explicar detalladamente los pasos a seguir por favor.
Muchas Gracias
Hola PAblo, solo tienes que agregar en la parte superior de tu codigo donde aparecen los import esta linea:
import javax.swing.JOptionPane;
Checa tu codigo, veras que hay lineas similares a esas, ahi es donde debes agregarla.
como le ago, cual es el codigo para jalar todos los font o mejor dicho (los tipos de letras) que contiene mi computadora y ponerlos en una lista en mi programa clara que necesito ponerlos en la lista que contiene netbeens en los jframes
ola alberto muy buen post mi felicitacion y mi agradecimiento x colaborar .me gustaria que me ayudes con proyecto en patron (modelo vista controlador) MVC donde se utilise passwordField no tienes un post sobre eso?? o si tienes un ejemplo mucho mejor o si sabes sobre una web sobre eso me seria de gran ayuda …
hola! muchas gracias por este tutorial lo segui al pie de la letra y me salio exactamente como dijiste y pues me interesaria conectarlo con postgresql, ya vi que te preguntaron y no lo habias manejado pero que dices ahun no experimentas con postgres
Hola buenos dias Alberto mira aki buskando en la web me encontre con tu publicación y me parecio muy buena ademas de bien explicada hice la primera parte y todo bien pero ya en la segunda donde se hace la conexion al ejecutar el programa me salen estas excepciones:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
java.lang.NullPointerException
podrias explicarme el x ke y si no es mucha molestia y tuvieras tiempo podrias guiarme en un programa ke necesito hacer?
Que tal Maryssa, Pobablemente lo que este ocurriendo es que el driver de conexion con mysql no este bien instalado.
Asegurate de que el .jar de mysql este en el directorio correcto de Netbeans.
Gracias por leer mi blog
gracias x ayudarmeeeeexjjjjjjjjjjjjjjjjjjjjjjjaaaaaaaaaaaaaaaaaaajajaajajaj
Que bien Vero, me alegra haberte ayudadooooooooooooooooooooooooooooooooooooo
aqui me produce un error
if((usuario.isEmpty())||(password.isEmpty()))
Hola Alejo, podrias checar si tus textarea se llaman usuario y contraseña?. quiza ahi este el error.
Hola mira una pregunta fijate que tengo que hacer un proyecto y en el tengo que poner un formulario el cula debe contener varios datos (nombre, direc,etc.) pero hay un numero de codio el cual lo debo almacenar en un arreglo y poderlo llamar desde otro formulario para ir llevando un control de los datos ingresados pero no se como hacerlo espero tu ayuda
Gracias
Exelente amigo sigue asi me va a ayudar mucho en mi proyecto gracias
se esta bueno thank 2 dias pero puede esta bueno para empezar a ver los codigos !!!
Oye no logro colocar la libreria, ya que siempre las colocaba al principio y ahora no lo se donde va.
Gracias y muy buena explicacion.
hola quiero saber como almacenar usuarios y contraseñas en archivos planos …. osea quiero que al momento de ingresar el usuario y contraseña se me almacene en un archivo plano y si un usuario o contraseña no existe en ese archivo no me ingrese o salga un mensaje de error de usuario y contraseña todo esto en NetBeans
Gracias, soy nuevo en java pero es facil de entender si explican bien, saludos.
Que bueno que contribuyamos a tu aprendizaje. Gracias por visitarnos Eduardo.
Gracias!!!! por tu ayuda brou me fue muy ultil :DD
Gracias a ti Diego por visitar el blog. Que estes bien.
Hola, queria pedir ayuda urgente, jeje es que necesito hacer un login, pero antes debo de registrarme, debo crear varios usuarios, y no se como hacerlo, les agradeceria mucho su ayuda gracias 😀
Buenas, muy bueno el pos felicidades, y muchusimas gracias. Que en algun momento puedas sacar alguno, de esta misma manera con trabajo de usuarios y bases de datos contra login.
Felicidades
Heterosexual
Heterosexual
Yes
Heterosexual
Fujitsu Siemens 19P2
Fujitsu Siemens 19P2
Dell LCD
Compaq p110 21
nzmwleaucxonuqjaynrfyytbfhihwb
ppnhxamszllppyfcmjuyubjaixhjjm
ndxoledeuwhdozgjcgccdvhqlbpumy
Hp v72
Compaq p110 21
Viewsonic TFT
dmxmwcpawmagpbhglfikpoiylluhqu
IBM Lenovo
IIYAMA 19
Fujitsu Siemens 19P2
IIYAMA 19
Samsung 957p
19inch DELL CRT
LG flatron f900p
LG 910SC