Java Syntax: Bygga en inmatningsdialogruta

Meddelandedialogrutor är bra när du vill informera användaren om ett meddelande och få ett enkelt svar (dvs ett JA- eller OK-klick), men det finns tillfällen när du vill att användaren ska ge lite data. Kanske vill ditt program ha ett popup-fönster för att ta tag i deras namn eller stjärntecken. Detta kan uppnås enkelt genom att använda

showInputDialog 

metod för

JOptionPane 

klass.

JOptionPane-klassen

Att använda

JOptionPane
klass behöver du inte göra ett exempel på en
JOptionPane

eftersom det skapar dialogrutor genom användning av statiska metoder ochstatiska fält. Det skapar bara modala dialogrutor som är bra för inmatningsdialogrutor eftersom du i allmänhet vill att användaren ska mata in något innan din applikation fortsätter att köras.

De

showInputDialog 

metoden överbelastas flera gånger för att ge dig några alternativ för hur dialogrutan för inmatning visas. Det kan ha ett textfält, en kombinationsruta eller en lista. Var och en av dessa komponenter kan ha ett standardvärde valt.

Inmatningsdialog med ett textfält

instagram viewer

Den vanligaste inmatningsdialogen har helt enkelt ett meddelande, ett textfält för användaren att mata in sitt svar och en OK-knapp:

De

showInputDialog
metoden tar hand om att bygga dialogfönstret, textfältet och OK-knappen. Allt du behöver göra är att tillhandahålla överordnad komponent för dialogrutan och meddelandet till användaren. För den överordnade komponenten använder jag
detta
nyckelord att peka på
JFrame
dialogen skapas från. Du kan använda null eller ange ett namn på en annan behållare (t.ex.
JPanel
) som förälder. Att definiera en överordnad komponent gör det möjligt för dialogrutan att placera sig själv på skärmen i förhållande till dess överordnade. Om den är inställd på noll kommer dialogrutan att visas i mitten av skärmen.
De
ingångsvariabel

fångar den text som användaren skriver in i textfältet.

Inmatningsdialog med en kombinationsruta

För att ge användaren ett urval av val från en kombinationsruta måste du använda ett strängarray:

// Alternativ för dialogrutan i kombinationsrutan Sträng [] 
val = {"måndag", "tisdag"
 ,"Onsdag torsdag fredag"};
// Inmatningsdialogrutan med en kombinationsruta 
Sträng vald = (String) JOptionPane.showInputDialog (detta, "Välj en dag:"
, "ComboBox Dialog", JOptionPane. QUESTION_MESSAGE
, null, val, val [0]);

När jag passerar en Stränguppsättning för valvärdena bestämmer metoden att en kombinationsruta är det bästa sättet att presentera dessa värden för användaren. Detta

showInputDialog

metod returnerar en

Objekt

och eftersom jag vill få textvärdet för valet av kombinationsrutan har jag definierat returvärdet som ett (

Sträng

).

Observera också att du kan använda en av OptionPanes meddelandetyper för att ge dialogrutan en viss känsla. Detta kan åsidosättas om du passerar en ikon som du väljer.

Inmatningsdialog med en lista

Om

Sträng
array du passerar till.
showInputDialog 
metoden har 20 eller fler poster, istället för att använda en kombinationsruta kommer den att välja valvärdena i en listruta.

Ett fullständigt exempel på Java-kod kan ses i programmet Input Dialog Box. Om du är intresserad av att se de andra dialogrutorna som klassen JOptionPane kan skapa, ta en titt på JOptionPane Option Chooser Program.

instagram story viewer