Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    mostrare/nascondere password inserita in JPasswordField

    Ho una JPasswordField e tramite un checkBox vorrei mostrare/nascondere la password inserita.
    Per nasconderla riesco tranquillamente a farlo tramite il codice
    codice:
    jPasswordField1.setEchoChar('\u25cf');
    ma per mostrarla?
    ho provato a fare tipo:
    codice:
    jPasswordField1.setEchoChar(char c);
    ma facendo in tal modo mi mostra la password formata da tutti caratteri "c"
    quindi come fare?
    so che ad esempio il metodo:
    codice:
    jPasswordField1.getPassword()
    mi restituisce un array di char ma poi resta comunque il problema di come viasualizzare in modo corretto la sequenza di caratteri nell'array,quindi non riesco a venirne fuori...un aiuto?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    magari leggendo la documentazione oracle

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da valia
    magari leggendo la documentazione oracle
    avevo già letto questa parte e infatti avevo provato a fare:
    codice:
    jPasswordField1.setEchoChar('0');
    che mi dava come password mostrata una sequenza di zeri
    ex:la password inserita è "password" e mostra "00000000"
    comunque ho risolto facendo
    codice:
    jPasswordField1.setEchoChar((char)0);
    grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    perché devi scrivere

    codice:
    passText.setEchoChar('\0');
    e non

    codice:
    passText.setEchoChar('0');
    è come se lo settassi a carattere null, non a zero.

    Devi considerare anche il tipo di dato che tu hai :

    codice:
      
            Character c = '0';
            System.out.println("valore " + c.hashCode());
            c = '\0';
            System.out.println("valore " + c.hashCode());
            c = 0;
            System.out.println("valore " + c.hashCode());
    noti che hai un risultato differente a seconda dei casi (e te lo dice l'hashcode)

    per il carattere '0' hai 48 , null '\0' o con promozione di cast hai hashcode 0 ed è quello che vuole la echochar

    guarda anche



    qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    sisi ora mi è tutto chiaro,ti ringrazio!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.