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

Beliebte Posts aus diesem Blog

How can I transform a .jar file to a .bat file?

Raspberry Pi als echten Web- und Mailserver einsetzen (German)

Umrechnung von Grad Celsius nach Grad Fahrenheit