private boolean actualizarUsuario(Usuario u, String codigo, String nombre, String clave, String cargo) {
        if (u.getCodigo().equals("1")) {
            JOptionPane.showMessageDialog(this, "El código y cargo del usuario\nespecial 1(UNO) no se modificarán", "Administrador principal", JOptionPane.INFORMATION_MESSAGE);
        } else {
            if (!u.getCodigo().equals(codigo)) {
                if (!this.modeloApp.existeUsuarioConCodigo(codigo)) {
                    u.setCodigo(codigo);
                } else {
                    JOptionPane.showMessageDialog(this, "Ya existe usuario con código " + codigo, "Redundancia de código", JOptionPane.INFORMATION_MESSAGE);
                    return false;
                }
            }

            if (!u.getCargo().toString().equals(cargo)) {
                if (cargo.equals("Vendedor")) {
                    u.setCargo(new Vendedor());
                }
                if (cargo.equals("Administrador")) {
                    u.setCargo(new Administrador());
                }
            }

        }

        if (!u.getNombre().equals(nombre)) {
            u.setNombre(nombre);
        }
        if (!clave.isEmpty()) {
            String claveConfirmada = JOptionPane.showInputDialog(this, "Confirmar clave:", "Confirmar clave", JOptionPane.INFORMATION_MESSAGE);
            if (clave.equals(claveConfirmada)) {
                u.setClaveAcceso(clave);
            } else {
                JOptionPane.showMessageDialog(this, "Las claves no coindiden", "Claves distintas", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
        }

        return true;
    }