Descripción:
Abrimos NetBeans y creamos un nuevo proyecto: una aplicación java y clic en siguiente.
… 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 controldialog
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ónsetSize indica el ancho y largo del dialogo, consetLocationRelativeTo(this)posicionamos el dialogo en el centro de la pantalla,setTitle designa el titulo del dialogo y setVisiblemuestra 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íneaSystem.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íajavax.swing.JOptionPanede otro modo el programa no va a correr.
No hay comentarios:
Publicar un comentario