Java - Comparar dos JPasswordField

 
Vista:

Comparar dos JPasswordField

Publicado por Soraya (20 intervenciones) el 21/01/2008 21:35:49
Hola!
Estoy intentando comparar el texto introducido en dos campos de tipo JPasswordField, pero no lo consigo puesto que ese componente encripta el texto escrito por lo que aunque escriba lo mismo en ambos no me lo reconoce.
He intentado hacer la comparacion utilizando incluso toString, pero.. tampoco me funciona.
he visto que hay un metodo (getText()) para ese componente , pero está deprecado por lo que no quería usarlo, alguien tiene una sugerencia de cómo lo puedo hacer usando el metodo (getPassword()) y equals¿? o de otra cualquier manera.
Gracias.
Un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar dos JPasswordField

Publicado por ideasjava (83 intervenciones) el 21/01/2008 22:07:50
Hola. Lo que podrias hacer es comparar los dos arreglos que devuelve el metodo getPassword(). Este método funciona para lo que necesitas

private boolean isPasswordCorrect(char[] j1,char[] j2) {
boolean valor = false;
int puntero = 0;
if (j1.length != j2.length){
valor = false;
}
else{
while((!valor)&&(puntero < j1.length)){
if (j1[puntero] != j2[puntero]){
valor = false;
}
else{
valor = true;
}
}
}
return valor;
}

y lo llamas asi

if(isPasswordCorrect(jp1.getPassword(),jp2.getPassword())){
System.out.println("SON IGUALES");
}
else{
System.out.println("NO SON IGUALES");
}

esperamos que te ayude. Cualquier cosa pregunta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar dos JPasswordField

Publicado por ideasjava (83 intervenciones) el 21/01/2008 22:13:59
Hola de nuevo. En el método que te pasamos tenia un error, este codigo esta corregido. Disculpas

private boolean isPasswordCorrect(char[] j1,char[] j2) {
boolean valor = true;
int puntero = 0;
if (j1.length != j2.length){
valor = false;
}
else{
while((valor)&&(puntero < j1.length)){
if (j1[puntero] != j2[puntero]){
valor = false;
}
puntero++;
}
}
return valor;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar