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

    [JAVA] swing Input da tastiera

    salve a tutti,
    ho bisogno di prendere una stringa dall'utente,
    questa stringa è una parola chiave.

    Conosco JOptionPane.showInputDialog, ma come faccio a dirgli che a posto del testo digitato voglio vedere i classici pallini o asterischi?? (come in un JPasswordField) :master:

    Se non è possibile... ci sono altri oggetti che hanno questo comportamento??

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di viler
    Registrato dal
    Jul 2008
    Messaggi
    32
    scusa, ma perche' non puoi usare il jpasswordfield?

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

    Re: [JAVA] swing Input da tastiera

    Originariamente inviato da cicciomed
    Conosco JOptionPane.showInputDialog, ma come faccio a dirgli che a posto del testo digitato voglio vedere i classici pallini o asterischi?? (come in un JPasswordField) :master:
    Una caratteristica di JOptionPane è che per l'argomento "message" (che è un Object) non si è limitati alle sole stringhe ma puoi passare anche un Component, un Icon o altro (su cui invoca toString() oppure un array Object[] i cui elementi vengono "interpretati" in modo ricorsivo come appena detto.

    Quindi nulla vieta di usare un showMessageDialog a cui passi come "message" un array con 2 elementi: una stringa (per un testo es. "Inserisci la password") e un JPasswordField. Una volta chiusa la dialog, la password la prendi direttamente dal JPasswordField (devi aver tenuto il reference, ovviamente).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    ok risolto.....
    grazie.

    ho usato un showConfirmDialog, visto che il campo input lo passo io.....

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da cicciomed
    ho usato un showConfirmDialog, visto che il campo input lo passo io.....
    Il vantaggio di showConfirmDialog è che puoi impostare alcune combinazioni di pulsanti Si/No/Ok/Cancella. Ma per il resto, per il "messaggio" particolare non ci sarebbe differenza con showMessageDialog.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Ho un problema su questo argomento...

    Anche se si tratta più che altro di un abbellimento.

    il codice che ho usato è questo, e funziona perfettamente

    codice:
    JPasswordField passfield = new JPasswordField(10);
    Object elementi[] = { "inserisci pin", passfield };
    int sel = 0;
    
    sel = JOptionPane.showConfirmDialog( null, elementi, "Inserimento PIN", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE );
    pin = new String(passfield.getPassword());
    								
    if( sel == JOptionPane.OK_OPTION )
    {
       ...
    }
    L'ultimo if serve solo per vedere se ho premuto il tasto OK.

    Il mio problema è che, come si apre la finestra, il cursore si posizione automaticamente sul tasto OK. Come faccio a posizionarlo sul campo del Pin??????

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Reiuky
    Il mio problema è che, come si apre la finestra, il cursore si posizione automaticamente sul tasto OK. Come faccio a posizionarlo sul campo del Pin??????
    Questa è una gran bella domanda. Credo che non si possa fare con i metodi statici.

    Nota però che tipicamente si usano i metodi statici showXXXDialog ma è anche possibile (per casi particolari/eccezionali) istanziare per proprio conto il JOptionPane e poi visualizzarlo. Vedi i suoi costruttori e il metodo createDialog().

    Con qualche codice in più puoi gestire tu la costruzione della dialog e quindi pure imporre il focus dove vuoi. (non ci dovrebbero essere problemi ... non ho mai provato, comunque)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.