next up previous contents
Nächste Seite: Flowlayout Aufwärts: Inhalt Vorherige Seite: Filedialog   Inhalt


Die Layoutmanager

Bevor wir die vorhandenen Layoutmanager nächer besprechen, zunächst ein paar Wort, zu den Layoutmanagern an sich, und warum man sie verwenden sollte.

In der Regel werden die Graphischen Objekte einer Applikation in Größe und Position festgelegt. Dies nennt man absolute Positionierung. Ein Layout Manager übernimmt nun diese Aufgaben, d.h. er legt die Größe und die Positionierung der Objekte fest. Damit hat man nun zwar weniger Einflüß auf die Gestaltungsmöglichkeit innerhalb der Applikation, gewinnt aber auch eine Menge nicht zu verachtender Vorteile.

Ein Vorteil ist zunächst, daß man eben keine Layout Fummelei mehr machen muß. Wer schon einmal eine Applikation entworfen hat, und dabei Pixelgenau Ort und Göße eines Objektes festlegen muß, weiß welcher Zeitaufwand damit verbunden sein kann. Bei konsequenter Anwendung von Lauoutmanagern kann auf alle j_setpos() und j_setsize() Funktionen verzichtet werden.

Ein weiterer Punkt, der für die Verwendung von Layoutmanagers spricht, ist die Plattformunabhängigkeit. Es ist praktisch unmöglich, eine Applikation mit absoluter Positionierung zu schreiben, die auf allen Platformen vernünftig aussieht. Insbesondere durch die verschiedenen Fontgrößen und -formen wird ein so unterschiedlicher Platzbedarf gefordert, daß eine feste Größe z.B. für ein Labelobjekt niemals immer vernüftig aussieht.

Zudem sollte eine Applikation immer so geschrieben sein, daß der Benutzer die Fenstergröße verändern kann. Allein schon durch die unterschiedlichen Bildschirmgrößen ist ein solche Forderung einsichtig. Wählt man nun eine absolute Positionierung, so muß bei jeder Fensteränderung ein neues Layout berechnet werden. Abgesehen von dem hohen Programmieraufwand, ist diese Berechnung äußerst lästig, und verführt oft dazu, doch eine unveränderliche Fenstergröße zu wählen.

All diese Probleme verschwinden durch die Verwendung von Layoutmanagern. Allerding muß klar gesagt werden, daß nicht jedes gewünschte Layout mit den vorhandenen Managern realisiert werden kann. Entweder man einigt sich auf einen Kompromiss aus Layout und Machbarkeit, oder man realisiert das Layout eben doch mit der Hand.

Layoutmanager könen in jedem Object angelegt werden, das andere Elemente aufnehmen kann. Die sind unter JAPI die Elemente vom Typ:

Für diese Typen wird im folgenden der Begriff ''Container'' festgelegt. Alles was sich im folgenden auf einen Container bezieht, ist demnach auf die oben genannten Elemente anwendbar.


Unterabschnitte
next up previous contents
Nächste Seite: Flowlayout Aufwärts: Inhalt Vorherige Seite: Filedialog   Inhalt
Merten Joost 2003-02-26