TassKaffDas Gridbag Layout


Die Designsprache GDL bedient sich des sogenannten Gridbag-Layouts, in dem die grafischen Elemente eines Bildschirmdialogs in ihren Beziehungen zueinander, aber nicht deren absolute Positionen festgelegt werden. Auf dieses Weise findet sich die exakte Positionierung abhängig von der Fenstergröße zur Laufzeit von selbst. Dies unterstützt nicht nur die Anwendungsergonomie, sondern erspart dem Designer auch das pixelweise Justieren der Dialogelemente.

Das Gridbag Layout versetzt uns am ehesten in die Lage, eine große Zahl komplexer Layouts, die flexibel eingesetzt werden können, zu bewältigen. Andererseits ist es nicht einfach zu handhaben, wenn wir versuchen, komplexe Layouts direkt in Java zu codieren. Ein GuiBuilder, der GridBagLayout verwendet, schenkt uns die Vorteile des Gridbag Layouts und erspart uns gleichzeitig die Mühe der Codierung.

Wir können den GuiBuilder aber nur dann optimal verwenden, wenn wir die Grundzüge des GridBagLayouts verstanden haben. Darauf wollen wir uns jetzt kurz konzentrieren.

Das Gridbag Layout ordnet Objekte dynamisch in einem rechteckigen Gitter an. Die Zellen dieses Gitters brauchen nicht gleich groß zu sein, und die Objekte können mehrere Zellen belegen. Die Ausdehnung und Lage einer Zelle, die Position eines Objektes innerhalb seiner Zelle und die Art und Weise, wie ein Objekt den Raum in seiner Zelle ausfüllt, ist nicht nur abhängig von den Eigenschaften des Objektes selber, sondern auch von den Eigenschaften seiner Nachbarobjekte und dem Größenzustand des gesamten Layouts.

Das war die kurze und grobe Erklärung (schwer zu verstehen). Lies die 10 Prinzipien des Gridbag-Layouts (leicht zu verstehen), um das Gridbag Layout im Detail zu durchschauen.

Wer die 10 Prinzipien verstanden hat weiß genug über das Gridbag Layout, um meine Designsprache GDL zu verstehen und damit auch genug, um den GuiBuilder zu verwenden, der gebaut ist - wie bereits erwähnt - um Skripte der Designsprache GDL zu interpretieren.

Hier ist eine kurze Einführung (website) zum Thema Layout Manager in Java. Wer sich das Gridbag Layout im Kontext einiger Beispiele etwas detaillierter anschauen will, ist mit dieser detaillierteren Diskussion (website) als Ergänzung gut bedient.

Seitenanfang

home