Te dejo por aquí todo el form, me acabo de dar cuenta de que el primer usuario que doy de alta si lo vuelvo a poner me dice perfectamente que el nombre ya existe en cambio si añado otro nuevo e intento con ese me deja crearlo y así sucesivamente.
https://pastebin.com/Tke39Grz
Si, soy novato en esto de la programación y actualmente estoy aprendiendo y puede que veas cada cosa que te quedes loco jaja. Espero que aparte de ayudarme en encontrar el error también me puedas dar algún consejo...
Veré como funcionan los arrayList para ir dejando a un lado el Vector.
Un saludo.
Un poco mas resumido.
Código Java:
Ver originalprivate void button_add_personalActionPerformed
(java.
awt.
event.
ActionEvent evt
) { // TODO add your handling code here:
String nick
= nick_personal.
getText(); String passwd
= passwd_personal.
getText(); String rep_passwd
= rep_passwd_personal.
getText(); String nivel
= nivel_personal.
getSelectedItem().
toString();
if( (nick.isEmpty()) || (passwd.isEmpty()) || (rep_passwd.isEmpty()) ){
System.
out.
println("Campos Vacios"); JOptionPane.
showMessageDialog(this,
"Los campos no pueden estar vacios"); }else if( passwd.equals(nick)){
System.
out.
println("La contraseña no puede ser igual al nombre de usuario"); JOptionPane.
showMessageDialog(this,
"La contraseña no puede ser igual al nombre de usuario"); }else if( !(passwd.equals(rep_passwd)) ){
JOptionPane.
showMessageDialog(this,
"Las contraseñas no coinciden"); }else if( nivel.equals("Nivel") ){
JOptionPane.
showMessageDialog(this,
"Debe seleccionar un nivel de seguridad"); }else{
if(Personal.buscarNick(nick)==-1){
Personal = new Personal(nick, passwd, nivel);
Main.personal.add(Personal);
JOptionPane.
showMessageDialog(this,
"Se añadio correctamente"); }else{
System.
out.
println("El usuario ya existe"); JOptionPane.
showMessageDialog(this,
"El usuario ya existe"); }
}
}
Una prueba de ejecución
Si el usuario no existe retornara -1 si el usuario ya existe nos devuelve la pos en la que esta. A partir de ahí es cuando no para de dar siempre -1