Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [java] Evento per JTextField | JPasswordField - Controllo digitazione

    Ciao,

    l'evento per poter scrivere il codice che mi controlla la digitazione carattere per carattere di una parola su un JxxxField... è il KeyTyped ???

    vorrei fare un controllo della parola che si scrive ad ogni carattere digitato e confrontarlo con una parola assegnata.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java] Evento per JTextField | JPasswordField - Controllo digitazione

    Originariamente inviato da cagnaluia
    l'evento per poter scrivere il codice che mi controlla la digitazione carattere per carattere di una parola su un JxxxField... è il KeyTyped ???
    Se vuoi "ascoltare" la digitazione effettiva dei tasti, sì è il KeyListener. Ma in genere non conviene usarlo per fare filtri o cose del genere. Ci sono 2 casi che non passano per quello: la impostazione "programmatica" del campo (setText()) e l' "incolla" dagli appunti.

    Originariamente inviato da cagnaluia
    vorrei fare un controllo della parola che si scrive ad ogni carattere digitato e confrontarlo con una parola assegnata.
    Dipende un po' cosa devi di preciso. Potrebbe andarti bene un DocumentListener ma se vuoi fare anche qualche tipo di modifica (filtro) durante le operazioni di modifica sarebbe più opportuno creare un apposito Document (ho fatto un esempio qui di recente) o creare un DocumentFilter.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    no no... è molto piu semplice.. almeno.. io credo.


    all'interno del evento KeyTyped...


    Codice PHP:
      private void controllaPwd(){
        
    String s1 = new String(jPasswordField1.getPassword());
        
    String s2 = new String(password);
        if(
    s1.equals(s2)){
            
    jLabel1.setText("Funzioni Avanzate Attivate.");
            
    jPasswordField1.setBackground(Color.GREEN);
        }
        else
        {
            
    jPasswordField1.setBackground(Color.RED);
            
    jLabel1.setText("Funzioni Limitate.");
        }  
      } 

    c'è però un anomalia...

    quando scrivo completamente la parola: (ex.) "password".
    DEVO dare invio.. altrimenti non mi fa l'ultimo cambiamento setText e setBackground.

    chissà perchè.. provo cion un dolayout();

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cagnaluia
    all'interno del evento KeyTyped...

    c'è però un anomalia...

    quando scrivo completamente la parola: (ex.) "password".
    DEVO dare invio.. altrimenti non mi fa l'ultimo cambiamento setText e setBackground.
    C'è un "piccolo" dettaglio che probabilmente non sai. Quando viene invocato il keyTyped(), il carattere non ha ancora fatto "effetto" sul contenuto del componente! Quindi se fai il get per ottenere il testo (o password che sia), non c'è ancora la modifica! Ci sarà appena dopo che è terminata la invocazione di keyTyped().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    appoggio andbin in pieno sul documentlistener, annessi e connessi: ti semplifichi la vita ENORMEMENTE.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    ok, inizio a documentarmi

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.