Java-Syntax: Erstellen eines Eingabedialogfelds

Nachrichtendialogfelder sind ideal, wenn Sie den Benutzer über eine Nachricht informieren und eine einfache Antwort erhalten möchten (d. h. einen JA- oder OK-Klick), aber manchmal möchten Sie, dass der Benutzer ein wenig Daten angibt. Möglicherweise möchte Ihr Programm ein Popup-Fenster, in dem der Name oder das Sternzeichen angezeigt werden. Dies kann leicht mit dem erreicht werden

showInputDialog 

Methode der

JOptionPane 

Klasse.

Die JOptionPane-Klasse

So verwenden Sie die

JOptionPane
Klasse müssen Sie keine Instanz von a erstellen
JOptionPane

weil es Dialogfelder durch die Verwendung von erstellt statische Methoden undstatische Felder. Es werden nur modale Dialogfelder erstellt, was für Eingabedialogfelder in Ordnung ist, da der Benutzer im Allgemeinen etwas eingeben soll, bevor Ihre Anwendung weiter ausgeführt wird.

Das

showInputDialog 

Die Methode wird mehrmals überladen, um Ihnen einige Optionen für die Darstellung des Eingabedialogfelds zu geben. Es kann ein Textfeld, ein Kombinationsfeld oder eine Liste enthalten. Für jede dieser Komponenten kann ein Standardwert ausgewählt werden.

instagram viewer

Eingabedialog mit einem Textfeld

Der häufigste Eingabedialog enthält lediglich eine Nachricht, ein Textfeld, in das der Benutzer seine Antwort eingeben kann, und eine Schaltfläche OK:

Das

showInputDialog
Die Methode kümmert sich um das Erstellen des Dialogfensters, des Textfelds und der Schaltfläche OK. Sie müssen lediglich die übergeordnete Komponente für den Dialog und die Nachricht an den Benutzer bereitstellen. Für die übergeordnete Komponente verwende ich die
Dies
Schlüsselwort, um auf das zu verweisen
JFrame
Der Dialog wird erstellt aus. Sie können null verwenden oder einen Namen eines anderen Containers angeben (z.
JPanel
) als Elternteil. Durch das Definieren einer übergeordneten Komponente kann sich der Dialog in Bezug auf die übergeordnete Komponente auf dem Bildschirm positionieren. Wenn der Wert auf Null gesetzt ist, wird der Dialog in der Mitte des Bildschirms angezeigt.
Das
Eingangsvariable

erfasst den Text, den der Benutzer in das Textfeld eingibt.

Eingabedialog mit einem Kombinationsfeld

Um dem Benutzer eine Auswahl aus einem Kombinationsfeld zu geben, müssen Sie ein String-Array verwenden:

// Optionen für das Kombinationsfeld dialogString [] 
Auswahl = {"Montag", "Dienstag"
 ,"Mittwoch Donnerstag Freitag"};
// Eingabedialog mit einem Kombinationsfeld 
String pick = (String) JOptionPane.showInputDialog (dies, "Pick a Day:"
, "ComboBox Dialog", JOptionPane. QUESTION_MESSAGE
, null, Entscheidungen, Entscheidungen [0]);

Da komme ich an einem vorbei String-Array Für die Auswahlwerte entscheidet die Methode, dass ein Kombinationsfeld der beste Weg ist, diese Werte dem Benutzer zu präsentieren. Dies

showInputDialog

Methode gibt eine zurück

Objekt

und weil ich den Textwert der Kombinationsfeldauswahl erhalten möchte, habe ich den Rückgabewert als a (

String

).

Beachten Sie auch, dass Sie einen der Nachrichtentypen von OptionPane verwenden können, um dem Dialogfeld ein bestimmtes Gefühl zu verleihen. Dies kann überschrieben werden, wenn Sie ein Symbol Ihrer Wahl übergeben.

Eingabedialog mit einer Liste

Wenn die

String
Array, das Sie an das übergeben.
showInputDialog 
Die Methode hat 20 oder mehr Einträge. Statt ein Kombinationsfeld zu verwenden, werden die Auswahlwerte in einem Listenfeld angezeigt.

Ein vollständiges Java-Codebeispiel kann im Eingabedialogfeldprogramm angezeigt werden. Wenn Sie die anderen Dialogfelder sehen möchten, die die JOptionPane-Klasse erstellen kann, sehen Sie sich das JOptionPane Option Chooser-Programm an.