Besked dialogbokse er dejlige, når du vil informere brugeren om en meddelelse og få et simpelt svar (dvs. et JA- eller OK-klik), men der er tidspunkter, hvor du vil have brugeren til at give en lille smule data. Måske ønsker dit program et pop-up-vindue for at få fat i deres navn eller stjernetegn. Dette kan let opnås ved at bruge
showInputDialog
metode til
JOptionPane
klasse.
JOptionPane-klassen
At bruge
JOptionPaneklasse behøver du ikke lave et eksempel på en
JOptionPane
fordi det opretter dialogbokse ved hjælp af statiske metoder ogstatiske felter. Det opretter kun modale dialogbokse, hvilket er fint til input dialogbokse, fordi du generelt ønsker, at brugeren skal indtaste noget, før din applikation fortsætter med at køre.
Det
showInputDialog
metoden overbelastes flere gange for at give dig et par muligheder for, hvordan dialogboksen for input vises. Det kan have et tekstfelt, en kombinationsboks eller en liste. Hver af disse komponenter kan have valgt en standardværdi.
Inputdialog med et tekstfelt
Den mest almindelige input-dialog har simpelthen en meddelelse, et tekstfelt for brugeren at indtaste deres svar og en OK-knap:
Det
showInputDialogmetoden tager sig af at opbygge dialogvinduet, tekstfeltet og OK-knappen. Alt hvad du skal gøre er at give den overordnede komponent til dialogen og beskeden til brugeren. For den overordnede komponent bruger jeg
dettenøgleord til at pege på
JFramedialogen oprettes fra. Du kan bruge null eller angive et navn på en anden container (f.eks.
JPanel) som forælder. Definition af en overordnet komponent gør det muligt for dialogen at placere sig selv på skærmen i forhold til dens overordnede. Hvis det er indstillet til null, vises dialogen midt på skærmen.
Det
input variabel
fanger teksten, som brugeren indtaster i tekstfeltet.
Indtastningsdialog med en kombinationsboks
For at give brugeren et udvalg af valg fra en kombinationsboks skal du bruge en streng-array:
// Valgmuligheder for dialogboksen Combo BoxString []
valg = {"Mandag", "Tirsdag"
, "Onsdag", "Torsdag", "Fredag"};
// Inputdialog med en kombinationsboks
Streng plukket = (streng) JOptionPane.showInputDialog (dette, "Vælg en dag:"
, "ComboBox Dialog", JOptionPane. QUESTION_MESSAGE
, null, valg, valg [0]);
Når jeg passerer en Strenge array for markeringsværdier beslutter metoden, at en kombinationsboks er den bedste måde at præsentere disse værdier for brugeren. Dette
showInputDialog
metoden returnerer en
Objekt
og fordi jeg ønsker at få tekstværdien for valg af kombinationsboks, har jeg defineret returværdien til at være en (
Snor
).
Bemærk også, at du kan bruge en af OptionPanes beskedtyper til at give dialogboksen en vis fornemmelse. Dette kan tilsidesættes, hvis du passerer et ikon efter eget valg.
Inputdialog med en liste
Hvis
Snorarray du passerer til.
showInputDialogmetoden har 20 eller flere poster, i stedet for at bruge en kombinationsboks vil den beslutte at vise markeringsværdierne i en listefelt.
Et komplet Java-kodeeksempel kan ses i Input Dialog Box-programmet. Hvis du er interesseret i at se de andre dialogbokse, som JOptionPane-klassen kan oprette, så kig på JOptionPane Option Chooser-programmet.