11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

68 KAPITEL 5: IMPLEMENTIERUNGDie Klasse AbstractQueryInputPanel implementiert einige Methoden, die in Query-InputPanel definiert wurden. Unter anderem realisiert sie die Verarbeitung von Benutzerereignissen– beim Auftreten eines Benutzerereignisses wird die Methode fireQueryInput-Event( QueryInputEvent evt ) aufgerufen, die das Ereignis an alle angemeldetenBeobachter weitergibt.Die Unterklassen von QueryInputPanel lassen sich in vier Gruppen unterteilen:– Panels mit textuellem Eingabefeld (z.B. TextFieldQueryInputPanel)– Panels mit einer Auswahl (z.B. ListQueryInputPanel)– Kompositum-Panels, die mehrere andere Eingabepanels enthalten können (Default-CompositeQueryInputPanel)– Panels für die Eingabe von Mengen (DefaultSetTypeQueryInputPanel)Wir beschreiben jetzt den Aufbau <strong>und</strong> die Funktion jeder Gruppe.Texteingabepanels Die Klasse TextFieldQueryInputPanel realisiert ein einfachesEingabepanel, bei dem der Variablenwert in einem Textfeld eingegeben werden kann (Abbildung5.5). Über dem Textfeld befindet sich eine Überschrift, die über die in QueryInputPaneldefinierte Methode setInputLabel( String label ) spezifiziert werden kann.Abbildung 5.5: TextFieldQueryInputPanelDes Weiteren gehören zu dieser Gruppe die Klassen IntegerTextFieldQueryInput-Panel <strong>und</strong> BooleanTextFieldQueryInputPanel, die von der Klasse TextField-QueryInputPanel erben <strong>und</strong> nur die Methode getInput() überschreiben. Der Unterschiedzu zwischen diesen beiden Klassen <strong>und</strong> TextFieldQueryInputPanel besteht darin,dass die Methode getInput() bei diesen Klassen die Eingabe nicht als String-Instanz,sondern als Integer- bzw. Boolean-Instanz zurückgibt – dafür wird der eingegebene Textzu einer ganzen Zahl bzw. zu einem booleschen Wert konvertiert. Diese Eingabepanels ermöglichenes, Int-Werte <strong>und</strong> Boolean-Werte in einem Textfeld einzugeben.Auswahlpanels Die nächste Gruppe der Eingabepanels bilden SelectionQueryInput-Panel <strong>und</strong> seine Unterklassen. Sie dienen zur Eingabe von Werten, die aus einer endlichenWertekollektion ausgewählt werden können.Die abstrakte Klasse SelectionQueryInputPanel (die wie schon QueryInputPanelvon der Idee her ein Interface ist) definiert die Schnittstelle für Eingabepanels, die eineKollektion von Werten entgegennehmen <strong>und</strong> diese dann dem Benutzer zur Auswahl anbieten.AbstractSelectionQueryInputPanel implementiert einige Methoden von SelectionQueryInputPanel<strong>und</strong> stellt die abstrakte Oberklasse für Eingabepanels dar, in denendie Eingabe über die Auswahl eines Werts stattfindet.Konkrete Implementierungen von SelectionQueryInputPanel sind die folgenden:– ListQueryInputPanel implementiert die Auswahl über eine Liste, die alle zur Auswahlstehenden Werte aufführt – der Benutzer kann einen von ihnen selektieren (Abb. 5.6).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!