JOptionPane (german)
Hallo
Leute. Bis jetzt haben wir die Grundlagen für Grafische Benutzeroberflächen
abgehakt und können mit dem Wissen ungefähr nachvollziehen, wie wir eine
einfache Applikation programmieren können.
Heute
werden wir uns mit den Meldungen in der Programmiersprache Java beschäftigen.
Folgende Meldungen werden in der Programmiersprache Java angewendet:
Fehlermeldung, Warnung, Entscheidung…
Beispielsweise möchten wir uns an einem Computer in der Universität anmelden. Nachdem wir unser Benutzername eingegeben haben, müssen wir noch das Persönliche Geheimzahl eingeben. Stellen wir uns vor, dass wir ein Zeichen in dem Passwortfeld falsch eingegeben haben. Dann wird vom Programm uns die Fehlermeldung geliefert. Diese Fehlermeldung kann wie folgt aussehen.
In
diesem Fall wird dem Benutzer nur mitgeteilt, dass seine Angabe falsch ist und
nicht was er machen soll. In den meisten Fällen wird dem Benutzer nach mehrmalige
falscher Angaben angeboten ob diese sein Passwort zurücksetzen möchte.
Die
Form einer Meldung sieht wie folgt aus:
Eine
Meldung in Java sieht wie auf dem Bild wir es sehen können mit der jeweiligen
Struktur aus. Nur ist diese nicht so schön bunt. Die Rote Fläche symbolisiert das
Icon welches in der Obigen Darstellung als eine Violett farbiges Kreis
bezeichnet wird. Die Nachricht ist die Gelbe Fläche und wird dem Benutzer die
Fehlermeldung genau dort mitgeteilt. Dabei kann der Benutzer eine Eingabe
tätigen was Oben nicht der Fall ist jedoch kann der Benutzer eine oder mehrere
Optionen auswählen.
Dabei
gibt es in der Programmiersprache Java mehrere Methoden welches wie folgt
aufgelistet sind.
Welche
Typen wir verwenden, hängt von der jeweiligen Situation ab. Wenig Sinn würde es
machen, wenn wir als Nachrichtentyp die Frageoption wählen würden. Deshalb
möchte ich hier paar Beispiele mitteilen.
Die Java-Klasse JOptionPane bietet vier statische Methoden, um schnell
einen Dialog zu erstellen und anzuzeigen, ohne dass erst ein Objekt erstellt
werden muss.
Diese statischen
Methoden sind:
static int
showConfirmDialog(Component parentComponent, Object message)
static String
showInputDialog(Component parentComponent, Object message)
static void showMessageDialog(Component
parentComponent, Object message)
static int showOptionDialog(Component
parentComponent, Object message,
static int String
title, int optionType, int
messageType, Icon icon,
static int Object[]
options, Object initialValue)
Die
oben vorgestellten statischen Methoden gibt es auch in erweiterter Form, d.h.
mit mehr Parametern.
Beispiele
für die Verwendung der Methoden zur Erstellung eines JOptionPanes:
// Bsp. 1: Eingabe-Dialog
JOptionPane.showInputDialog("Dies ist ein Input
Dialog");
// Bsp. 2: Dialog zur Bestätigung
JOptionPane.showConfirmDialog(null, "Dies
ist ein Confirm Dialog");
// Bsp. 3: Nachrichten-Dialog
JOptionPane.showMessageDialog(null, "Dies
ist ein Message Dialog");
// Bsp. 4: Optionsdialog mit Warnhinweis
JOptionPane.showOptionDialog(null, "Dies
ist ein Optionsdialog","Optionsdialog",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE, null,
new String[]{"A", "B",
"C"}, "B");
Im
ersten Beispiel erzeugen wir einen Dialog, der von dem Anwender eine
Texteingabe verlangt. Der Parameter gibt die Nachricht an, die angezeigt werden
soll. Dieser Dialog benutzt intern den Optionstyp OK_CANCEL_OPTION.
Der
zweite Dialog ist ein Dialog, der eine Meldung anzeigt und die Optionen
"Ja", "Nein" und "Abbrechen" anbietet. Den ersten
Parameter setzen wir hier einfacherweise auf die null-Referenz, so dass ein
interner Standard-Frame für die Anzeige verwendet wird. Der zweite Parameter
gibt die anzuzeigende Nachricht an. Dieser Dialog besitzt intern den Optionstyp
YES_NO_CANCEL_OPTION.
Der
dritte Dialog ist ein einfacher Informationsdialog, der nur über einen
"Ok"-Button verfügt. Den ersten Parameter setzen wir auch hier auf
null, da wir keinen Frame definiert haben. Dieser Dialog besitzt intern den
Optionstyp DEFAULT_OPTION.
Die
Funktion showOptionDialog
bietet die Möglichkeit, sich seinen eigenen JOptionPane
zusammenzustellen und erwartet daher auch mehr Parameter. Als dritten Parameter
kann man einen Titel, also die Überschrift des Dialoges angeben. Über den
vierten Parameter kann man den Optionstyp angeben, über den fünften den
Nachrichtentyp. Als sechsten Parameter können wir ein eigenes Icon
setzen. Da wir Icons noch nicht behandelt haben, übergeben wir hier die null-Referenz übergeben, so
dass das Standard-Icon gewählt wird, welches mit dem Nachrichtentyp verknüpft
ist. Als siebter Parameter kann ein Array mit selbstdefinierten
Schaltflächen-Texten übergeben werden, in diesem Fall erzeugen wir
Schaltflächen mit der Beschriftung "A", "B" und
"C". Der letzte Parameter gibt an, welche von den zuvor definierten
Schaltflächen standardmäßig selektiert sein soll. In unserem Fall wird die
Schaltfläche "B" vorselektiert.
Wenn
wir uns noch einmal die Übersicht der statischen Methoden ansehen, sehen wir,
dass die Methode showInputDialog
einen String zurückliefert. Der Rückgabewert enthält den Text aus dem
Eingabefeld des JOptionPanes. Dieser kann dann zur weiteren Verarbeitung
verwendet werden.
Die
Methoden showConfirmDialog
und showOptionDialog
liefern einen Integer-Wert zurück. Dieser gibt an, welche Schaltfläche betätigt
wurde. Diese Integer-Werte sind wieder Konstanten der Klasse JOptionPane.
Folgende Übersicht zeigt die Konstanten:
Die oben erwähnten
statischen Methoden gibt es auch jeweils mit dem Zusatz "Internal",
also z.B. showInternalInputDialog
oder showInternalConfirmDialog.
Damit wird der JOptionePane
als interner Dialog der jeweiligen Elternkomponente, welche als Parameter übergeben
werden muss, angezeigt.
In den nächsten Tagen
werden wir auch ein Beispielanwendung mit einer Meldung programmieren und
dessen Quelldatei ebenfalls hochladen.
Kommentare
Kommentar veröffentlichen