Dijaloški okviri za poruke odlični su kada želite obavijestiti korisnika poruke i dobiti jednostavan odgovor (tj., DA ili OK), ali postoje slučajevi kada želite da korisnik malo prebaci podatke. Možda vaš program želi skočni prozor da zgrabi njihovo ime ili znak zvijezde. To se lako može postići pomoću
showInputDialog
metoda
JOptionPane
klase.
Klasa JOptionPane
Za korištenje
JOptionPaneklase ne trebate stvarati instancu od
JOptionPane
jer stvara dijaloške okvire korištenjem statičke metode istatička polja. Stvara samo modalne dijaloške okvire što je u redu za dijaloške okvire za unos, jer općenito želite da korisnik nešto unese prije nego što se aplikacija pokrene.
showInputDialog
metoda se nekoliko puta preopterećuje kako bi vam dala nekoliko opcija o tome kako se pojavljuje dijaloški okvir za unos. Može imati tekstualno polje, kombinirani okvir ili popis. Svaka od ovih komponenti može imati odabranu zadanu vrijednost.
Unosni dijalog s tekstnim poljem
Najčešći dijaloški okvir za unos jednostavno sadrži poruku, tekstualno polje za korisnika koji unosi svoj odgovor i gumb U redu:
showInputDialogmetoda se brine za izgradnju dijaloškog prozora, tekstnog polja i gumba U redu. Sve što trebate učiniti je pružiti nadređenu komponentu za dijalog i poruku korisniku. Za roditeljsku komponentu koristim
ovajključna riječ koja upućuje na
JFramedijalog je kreiran od. Možete koristiti null ili odrediti ime drugog spremnika (npr.
JPanel) kao roditelj. Definiranje roditeljske komponente omogućuje dijalogu da se pozicionira na zaslonu u odnosu na roditelj. Ako je postavljeno na nulu, dijalog će se pojaviti na sredini zaslona.
ulazna varijabla
snima tekst koji korisnik unosi u tekstno polje.
Unosni dijalog s kombiniranim okvirom
Da biste korisniku odabrali izbor iz kombiniranog okvira, trebate koristiti String niz:
// Opcije za dijaloški okvir kombiniranog okviraString []
izbora = {"ponedjeljak", "utorak"
, "Srijeda", "četvrtak", "petak"};
// Dijaloški okvir unosa s kombiniranim okvirom
Gudački niz = (string) JOptionPane.showInputDialog (ovo, "Odaberite dan:"
, "Dijalog ComboBox", JOptionPane. QUESTION_MESSAGE
, null, izbora, izbora [0]);
Dok prolazim a Niz nizova za selekcijske vrijednosti metoda odlučuje da je kombinirani okvir najbolji način prezentacije tih vrijednosti korisniku. Ovaj
showInputDialog
metoda vraća an
Objekt
i zato što želim dobiti tekstnu vrijednost odabranog okvira, definirao sam povratnu vrijednost kao (
Niz
).
Također imajte na umu da možete koristiti jednu od vrsta poruka OptionPane-a da biste dijaloškom okviru dobili određeni osjećaj. Ovo se može poništiti ako unesete ikonu po vlastitom izboru.
Dijaloški okvir unosa s popisom
Ako
Nizniz koji prosljeđujete na.
showInputDialogmetoda ima 20 ili više unosa, tada će umjesto kombiniranog okvira odlučiti prikazati vrijednosti odabira u okviru s popisom.
Potpuni primjer Java koda može se pogledati u programu dijaloškog okvira unosa. Ako vas zanima vidjeti druge dijaloške okvire koje klasa JOptionPane može stvoriti, pogledajte program za odabir opcija JOptionPane.