Le finestre di dialogo dei messaggi sono eccezionali quando si desidera informare l'utente di un messaggio e ottenere una risposta semplice (ovvero un clic SÌ o OK), ma a volte l'utente desidera fornire un po 'di dati. Forse il tuo programma vuole una finestra pop-up per afferrare il loro nome o il segno zodiacale. Questo può essere ottenuto facilmente usando il
showInputDialog
metodo del
JOptionPane
classe.
Per usare il
JOptionPaneclasse non è necessario creare un'istanza di a
JOptionPane
perché crea finestre di dialogo attraverso l'uso di metodi statici e campi statici. Crea solo finestre di dialogo modali che vanno bene per le finestre di dialogo di input perché in genere si desidera che l'utente inserisca qualcosa prima che l'applicazione continui a funzionare.
Il
showInputDialog
Il metodo viene sovraccaricato più volte per darvi alcune opzioni su come appare la finestra di dialogo di input. Può avere un campo di testo, una casella combinata o un elenco. Ognuno di questi componenti può avere un valore predefinito selezionato.
La finestra di dialogo di input più comune ha semplicemente un messaggio, un campo di testo per l'utente di inserire la propria risposta e un pulsante OK:
Il
showInputDialogIl metodo si occupa della costruzione della finestra di dialogo, del campo di testo e del pulsante OK. Tutto quello che devi fare è fornire all'utente il componente principale per la finestra di dialogo e il messaggio. Per il componente genitore sto usando il
Questoparola chiave per indicare il
JFramela finestra di dialogo viene creata da. Puoi utilizzare null o specificare un nome per un altro contenitore (ad es.,
JPanel) come genitore. La definizione di un componente genitore consente alla finestra di dialogo di posizionarsi sullo schermo in relazione al suo genitore. Se è impostato su null, la finestra di dialogo verrà visualizzata al centro dello schermo.
variabile di input
acquisisce il testo immesso dall'utente nel campo di testo.
Per offrire all'utente una selezione di scelte da una casella combinata è necessario utilizzare un array String:
// Opzioni per la finestra di dialogo dialogString []
scelte = "Lunedì", "Martedì"
,"Mercoledì giovedì venerdì";
// Finestra di dialogo di input con una casella combinata
String pick = (String) JOptionPane.showInputDialog (this, "Scegli un giorno:"
, "Finestra di dialogo ComboBox", JOptionPane.QUESTION_MESSAGE
, null, scelte, scelte [0]);
Mentre sto passando un array di stringhe per i valori di selezione, il metodo decide che una casella combinata è il modo migliore per presentare tali valori all'utente. Questo
showInputDialog
il metodo restituisce un
Oggetto
e poiché desidero ottenere il valore di testo della selezione della casella combinata, ho definito il valore restituito come un (
Corda
).
Si noti inoltre che è possibile utilizzare uno dei tipi di messaggio di OptionPane per dare una certa sensazione alla finestra di dialogo. Questo può essere ignorato se passi un'icona di tua scelta.
Se la
Cordaarray passato al
showInputDialogIl metodo ha 20 o più voci, quindi invece di utilizzare una casella combinata deciderà di mostrare i valori di selezione in una casella di riepilogo.
Un esempio di codice Java completo può essere visualizzato nel programma della finestra di dialogo di input. Se sei interessato a vedere le altre finestre di dialogo che la classe JOptionPane può creare, dai un'occhiata al programma di selezione delle opzioni JOptionPane.