Μηνύματαπαράθυρα διαλόγου είναι ωραίο όταν θέλετε να ενημερώσετε τον χρήστη για ένα μήνυμα και να πάρετε μια απλή απάντηση (δηλ. ένα κλικ ΝΑΙ ή ΟΚ) αλλά υπάρχουν στιγμές που θέλετε ο χρήστης να δώσει λίγα δεδομένα. Ίσως το πρόγραμμά σας θέλει ένα αναδυόμενο παράθυρο για να αρπάξει το όνομα ή το αστέρι του. Αυτό μπορεί να επιτευχθεί εύκολα με τη χρήση του
showInputDialog
μέθοδος του
JOptionPane
τάξη.
Η κλάση JOptionPane
Για να χρησιμοποιήσετε το
JOptionPaneclass δεν χρειάζεται να κάνετε μια εμφάνιση ενός
JOptionPane
επειδή δημιουργεί παράθυρα διαλόγου μέσω της χρήσης του στατικές μεθόδους καιστατικά πεδία. Δημιουργεί μόνο τα παράθυρα διαλόγου που είναι χρήσιμα για τα παράθυρα διαλόγου εισαγωγής επειδή, γενικά, θέλετε ο χρήστης να εισαγάγει κάτι πριν το τρέξιμο της εφαρμογής σας.
ο
showInputDialog
η μέθοδος είναι υπερφορτωμένη αρκετές φορές για να σας δώσει μερικές επιλογές σχετικά με το πώς εμφανίζεται το παράθυρο διαλόγου εισαγωγής. Μπορεί να έχει ένα πεδίο κειμένου, ένα σύνθετο πλαίσιο ή μια λίστα. Κάθε ένα από αυτά τα στοιχεία μπορεί να έχει επιλεγμένη προκαθορισμένη τιμή.
Dialog εισαγωγής με ένα πεδίο κειμένου
Το πιο συνηθισμένο παράθυρο διαλόγου εισαγωγής έχει απλώς ένα μήνυμα, ένα πεδίο κειμένου για το χρήστη να εισαγάγει την απάντησή του και ένα κουμπί OK:
ο
showInputDialogη μέθοδος φροντίζει για την κατασκευή του παραθύρου διαλόγου, του πεδίου κειμένου και του πλήκτρου OK. Το μόνο που έχετε να κάνετε είναι να δώσετε το γονικό στοιχείο για το διάλογο και το μήνυμα στον χρήστη. Για το γονικό στοιχείο που χρησιμοποιώ
Αυτόλέξη-κλειδί για να δείξει το
JFrameτο παράθυρο διαλόγου δημιουργείται από. Μπορείτε να χρησιμοποιήσετε null ή να ορίσετε ένα όνομα άλλου κοντέινερ (π.χ.,
JPanel) ως γονέας. Ο ορισμός της γονικής συνιστώσας επιτρέπει στο παράθυρο διαλόγου να τοποθετηθεί στην οθόνη σε σχέση με τον γονέα του. Εάν έχει οριστεί μηδενικό, το παράθυρο διαλόγου θα εμφανιστεί στο κέντρο της οθόνης.
ο
μεταβλητή εισόδου
καταγράφει το κείμενο που εισάγει ο χρήστης στο πεδίο κειμένου.
Εισαγωγή με ένα σύνθετο πλαίσιο
Για να δώσετε στον χρήστη μια επιλογή επιλογών από ένα σύνθετο πλαίσιο, πρέπει να χρησιμοποιήσετε μια σειρά String:
// Επιλογές για το παράθυρο διαλόγου διαλόγουString []
επιλογές = {"Δευτέρα", "Τρίτη"
, "Τετάρτη", "Πέμπτη", "Παρασκευή"}.
// Διαλόγου εισαγωγής με ένα σύνθετο πλαίσιο
Ορίστηκε η συμβολοσειρά = (String) JOptionPane.showInputDialog (αυτό, "Επιλογή μιας ημέρας:"
, "Διάλογος ComboBox", JOptionPane. QUESTION_MESSAGE
, null, επιλογές, επιλογές [0]);
Καθώς περνάω ένα Διάταξη συμβολοσειράς για τις τιμές επιλογής, η μέθοδος αποφασίζει ότι ένα σύνθετο πλαίσιο είναι ο καλύτερος τρόπος να παρουσιαστούν αυτές οι τιμές στο χρήστη. Αυτό
showInputDialog
η μέθοδος επιστρέφει ένα
Αντικείμενο
και επειδή θέλω να βρω την τιμή κειμένου της επιλογής κουτιού σύνθεσης έχω ορίσει την τιμή επιστροφής να είναι a (
Σειρά
).
Σημειώστε επίσης ότι μπορείτε να χρησιμοποιήσετε έναν από τους τύπους μηνυμάτων του OptionPane για να δώσετε στο παράθυρο διαλόγου μια συγκεκριμένη αίσθηση. Αυτό μπορεί να ακυρωθεί αν περάσετε ένα εικονίδιο της επιλογής σας.
Εισαγωγή με λίστες
Αν το
Σειράσυστοιχία που περάσατε στο.
showInputDialogη μέθοδος έχει 20 ή περισσότερες καταχωρήσεις και αντί να χρησιμοποιήσει ένα σύνθετο πλαίσιο θα αποφασίσει να δείξει τις τιμές επιλογής σε ένα πλαίσιο λίστας.
Ένα πλήρες παράδειγμα κώδικα Java μπορεί να προβληθεί στο Πρόγραμμα διαλόγου εισόδου. Αν ενδιαφέρεστε να δείτε τα άλλα παράθυρα διαλόγου που μπορεί να δημιουργήσει η κλάση JOptionPane τότε δείτε το Πρόγραμμα επιλογής επιλογών JOptionPane.