Outlines und Contents

Üblicherweise folgen die meisten komplexen grafischen Applikationen für kleinere Systeme, wie z.B. JControl-basierte Geräte, einem gewissen Standardmuster bezüglich der Benutzerführung. Dies ergibt sich unter anderem aus der Tatsache, dass aufgrund der beschränkten Displaygrößen die vom PC bekannten Konzepte wie z.B. Unterstützung mehrerer Fenster usw. oft nicht praktikabel sind. Stattdessen werden in aller Regel unterschiedliche Bereiche einer Anwendung auf verschiedenen Bildschirmseiten untergebracht, die - z.B. über ein zentrales Menü gesteuert - nacheinander angezeigt werden können. Bekannt ist dieses Konzept vor allem aus dem Bereich der Mobiltelefone.
Für Anwendungen dieser Art bietet JControl/Wombat nun ein Verfahren an, das den einfachen Austausch von Seiteninhalten ermöglicht, bei gleichzeitigem Anzeigen z.B. einer zentralen Menüstruktur.

Bild 3: Der Frame mit zwei Grundelementen, Content und Outline

Ein Frame, die Basis aller Anwendungen, besitzt zwei Grundelemente. Zum einen den sog. Content. Dies ist ein beliebiger Container, der die aktuelle Bildschirmseite repräsentiert. Komponenten werden also nicht direkt in den Frame, sondern immer in einen Content eingefügt. Der Content kann jederzeit zur Laufzeit durch einen anderen ersetzt werden. So lässt sich sehr einfach ein Seitenwechsel realisieren.
Das zweite Grundelement des Frames ist die sog. Outline. Dies ist eine beliebige Komponente, die dem Frame optional zugewiesen werden kann. Die Outline ist als statisches Element gedacht und wird immer parallel zum aktuellen Content angezeigt. D.h. bei einem Wechsel des Content bleibt die Outline stets erhalten. Dies eignet sich also für Elemente, die einen festen, immer sichtbaren Bestandteil der Benutzeroberfläche darstellen sollen, also z.B. ein zentrales Menü, ein Logo in einer Bildschirmecke, eine Uhr- oder Datumsanzeige usw. Natürlich kann die Outline ihrerseits auch ein Container sein, so dass es möglich ist, mehrere Komponenten zu einer Outline zu gruppieren.

Im Installationsverzeichnis der JControl/IDE befindet sich im Unterverzeichnis "demos/cobra5329/WombatTutorial/PageDemo" (unter Windows üblicherweise "C:\Programme\JControl\demos\cobra5329\WombatTutorial\PageDemo"). ein Beispielprogramm zur Illustration dieser Eigenschaft. Es zeigt eine Möglichkeit zum Arbeiten mit einer Outline als zentrales Menü zum Wechseln zwischen zwei Bildschirmseiten. Die Outline wird durch eine eigene Klasse repräsentiert, die einen Container erweitert. In ihrer Eigenschaft als Menü besitzt sie zwei Buttons, deren Aktionen einen Seitenwechsel auslösen sollen. Dies geschieht zentral über die Methode showPage in der Hauptklasse PageDemo. An dieser Stelle wird je nach Parameter dem Frame ein neuer Content zugewiesen. Die beiden Contents dieses Beispiels sind ebenfalls über eigene Klassen implementiert. Beim Wechsel des Content wird einfach jeweils eine neue Instanz der jeweiligen Klasse erzeugt. Es wäre hier auch möglich, bereits angelegte Objekte für die einzelnen Contents immer wiederzuverwenden.