Java Syntax: Bygge en inndata-dialogboks

Meldingsdialogbokser er bra når du vil informere brukeren om en melding og få et enkelt svar (dvs. et JA- eller OK-klikk), men det er tidspunkter når du vil at brukeren skal gi litt data. Kanskje programmet ditt vil ha et popup-vindu for å hente navnet eller stjernetegnet. Dette kan oppnås enkelt ved å bruke

showInputDialog 

metode for

JOptionPane 

klasse.

JOptionPane-klassen

For å bruke

JOptionPane
klasse trenger du ikke lage et eksempel på en
JOptionPane

fordi det oppretter dialogbokser ved bruk av statiske metoder ogstatiske felt. Det oppretter bare modale dialogbokser som er greit for inndata-dialogbokser, fordi du generelt ønsker at brukeren skal legge inn noe før applikasjonen din fortsetter å kjøre.

De

showInputDialog 

metoden er overbelastet flere ganger for å gi deg noen få alternativer for hvordan dialogboksen for inndata vises. Det kan ha et tekstfelt, en kombinasjonsboks eller en liste. Hver av disse komponentene kan ha en standardverdi valgt.

Inntastingsdialog med et tekstfelt

Den vanligste inndata-dialogen har ganske enkelt en melding, et tekstfelt for brukeren å legge inn svaret sitt og en OK-knapp:

instagram viewer

De

showInputDialog
metoden tar seg av å bygge dialogvinduet, tekstfeltet og OK-knappen. Alt du trenger å gjøre er å gi foreldrekomponenten for dialogen og meldingen til brukeren. For foreldrekomponenten bruker jeg
dette
nøkkelord for å peke på
JFrame
dialogen opprettes fra. Du kan bruke null eller spesifisere et navn på en annen beholder (f.eks.
JPanel
) som foreldre. Å definere en overordnet komponent gjør det mulig for dialogen å plassere seg på skjermen i forhold til den overordnede. Hvis den er satt til null, vises dialogboksen midt på skjermen.
De
inngangsvariabel

fanger teksten brukeren legger inn i tekstfeltet.

Inngangsdialog med en kombinasjonsboks

For å gi brukeren et utvalg av valg fra en kombinasjonsboks, må du bruke en streng-matrise:

// Alternativer for kombinasjonsboksen Dialog [String [] 
valg = {"Mandag", "Tirsdag"
, "Onsdag", "Torsdag", "Fredag"};
// Inndatadialog med en kombinasjonsboks 
Streng valgt = (String) JOptionPane.showInputDialog (dette, "Velg en dag:"
, "ComboBox Dialog", JOptionPane. QUESTION_MESSAGE
, null, valg, valg [0]);

Når jeg passerer en Strengarray for valgverdiene bestemmer metoden at en kombinasjonsboks er den beste måten å presentere disse verdiene for brukeren. Dette

showInputDialog

metoden returnerer en

Gjenstand

og fordi jeg ønsker å få tekstverdien til kombinasjonsboksen, har jeg definert returverdien til å være (

string

).

Legg også merke til at du kan bruke en av OptionPanes meldingstyper for å gi dialogboksen et visst preg. Dette kan overstyres hvis du passerer et ikon etter eget valg.

Inntastingsdialog med en liste

Hvis

string
matrisen du passerer til.
showInputDialog 
metoden har 20 eller flere oppføringer, i stedet for å bruke en kombinasjonsboks vil den bestemme seg for å vise valgverdiene i en listeboks.

Et fullstendig Java-kodeeksempel kan vises i Input Dialog Box Program. Hvis du er interessert i å se de andre dialogboksene som JOptionPane-klassen kan lage, kan du ta en titt på JOptionPane Option Chooser Program.

instagram story viewer