Uso básico de elementos Swing con NetBeans – 24 – Uso de JPasswordField, campo para contraseña.

Manejo de JPasswordField en Java.

En esta guía mostraremos una forma sencilla de usar el campo de contraseña, que es una extensión de la clase campo de textos. Para este ejemplo utilizaremos un JPasswordField para ingresar la contraseña de comprobación y un JTextField con la salida del resultado; un botón con evento para ejecutar el método de comprobación. Para el diseño utilizamos un “JFrame” que nombraremos “UsoJPasswordField”.

Tomar en cuenta los nombres de variable de cada objeto, en el diseño se especifican; es muy importante ya que desde los métodos se utilizan estos nombres para referencia a cada objeto. Se puede cambiar el “Nombre de variable” de cada objeto haciendo clic derecho sobre la misma y clic en “Cambiar nombre de variable…”. (clic sobre la imagen para ampliar)

La única importación necesaria será la siguiente: import java.util.Arrays;

Creamos los métodos siguiente en modo fuente, los métodos creados por nosotros las ubicamos al final de la declaración de variables, justo antes de la llave de cierre general. Se agregan comentario para aclarar la función de cada línea de código.

Código Java
    private void aceptar(){
//Obtenemos el password que es un array de caracteres
//El resultado no es texto en claro sino codificado.
char[] password = jPass.getPassword();
//Usamos nuestro método creado para comprobar
if(esCorrecta(password)){
jTextP.setText("Es Correcta: " + password);
}
else{
jTextP.setText("Contraseña errónea, intenta de nuevo: " + password);
}
//Limpiamos los datos del array.
Arrays.fill(password, '0');
jPass.selectAll();
jPass.requestFocus();

}
//Creamos un método para comprobar la contraseña correcta
private static boolean esCorrecta(char[] p) {
boolean esPass = true;
//Nuestra contraseña de prueba "usuario"
char[] pass = { 'u', 's', 'u', 'a', 'r', 'i', 'o' };
//Comprobamos que la longitud sea igual
if (p.length != pass.length) {
esPass = false;
} else {
//Usamos un comparador para verificar carácter por carácter.
esPass = Arrays.equals(p, pass);
}
//Limpiamos los datos del array.
//Requerimiento de seguridad.
Arrays.fill(pass,'0');
return esPass;
}

Para el botón “Aceptar” utilizamos el evento “ActionPerformed”. Si hay dudas sobre como agregar “Eventos” a objetos, en las primeras guías de la serie vimos con detalle ese punto.

Código Java
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
aceptar();
}

En este punto ya podremos ejecutar nuestro formulario y comprobar su funcionalidad. (Por si hay alguna duda en el proceso, debemos hacer clic derecho sobre nuestro archivo fuente y presionar “ejecutar archivo” ya que nuestro proyecto no tiene una clase principal definida)

No hay comentarios :

Publicar un comentario