XdevContainer

Anfang  Zurück  Vor

Letzte Änderung 13.02.2014

 

Die Komponente XdevContainer ist die Basis-Komponente in XDEV 5, von der nahezu alle anderen Komponenten abgeleitet sind. Eine von XdevContainer abgeleitete Komponente besitzt deshalb neben ihren speziellen Eigenschaften automatisch auch alle Eigenschaften von XdevContainer.

 

In der Praxis werden XdevContainer für die Darstellung farbiger Flächen, Linien und Rahmen sowie für die Gruppierung anderer Komponenten verwendet. Dabei lassen sich Flächen nicht nur einfarbig, sondern auch mit einem Farbverlauf oder einer Textur als Hintergrund zeichnen. Darüber hinaus lässt sich auch die Deckkraft der Komponente einstellen wodurch auch eine halbtransparente Darstellung auf der Oberfläche möglich ist.

 

 

Leerer Container

clip0006

XdevContainer lassen sich für Linien und farbige Hintergrundflächen einsetzen.

 

Befüllter Container

clip1002

In XdevContainern lassen sich andere GUI-Komponenten genauso wie in ein Fenster einfügen und so als unsichtbare Träger-Komponente verwenden.

 

 

 

Verschachtelung von Komponenten

 

Eine besondere Grundeigenschaft des XdevContainers ist, dass sich andere Komponenten in einen XdevContainer einfügen und dadurch gruppieren lassen. Der XdevContainer ist dann eine Art neues Fenster innerhalb des Programmfensters. Alle eingefügten Komponenten erhalten neue, vom Programmfenster unabhängige Koordinaten und lassen sich auch im XdevContainer völlig frei und pixelgenau positionieren sowie mit Hilfe von Layout-Managern entsprechend layouten.

 

Der große Vorteil gegenüber der herkömmlichen Gruppierungsfunktion wie sie vor allem in grafischen Anwendungen vorkommt ist, dass sich die mit Hilfe eines XdevContainers gruppierten Komponenten jederzeit einzeln ändern, positionieren und vor allem mit individueller Aktionslogik belegen lassen.

 

Soll der XdevContainer ausschließlich zur Gruppierung dienen, lässt sich der Hintergrund auch vollständig ausblenden, sodass der XdevContainer zwar als Objekt erzeugt wird, jedoch auf der Benutzeroberfläche nicht sichtbar ist.

 

Das Container-Prinzip zieht sich durch alle GUI-Komponenten und ist für zahlreiche Komponenten von elementarer Bedeutung, u.a. bei den Komponenten XdevFormulare, XdevScrollpane, XdevTabbedPane sowie bei XdevInternalFrames.

 

 

 

Wichtige Eigenschaften

 

Hintergrund

Keiner - Zur Laufzeit wird kein Hintergrund gezeichnet. Nur die eingefügten GUI-Komponenten sind sichtbar.

Farbe - Es wird ein einfarbiger Hintergrund gezeichnet.

Farbverlauf - Als Hintergrund wird ein Farbverlauf gezeichnet. Die Richtung des Farbverlaufs kann individuell angegeben werden: links nach rechts, oben nach unten, diagonal, rechteckig,radial.

System - Es wird ein einfarbiger Hintergrund gezeichnet. Die Farbe wird von den Systemeinstellungen übernommen.

Textur - Als Hintergrund kann eine Grafik zugewiesen werden. Zudem kann die Ausrichtung angegeben werden: zentriert, gestreckt, gekachelt.

Rahmen - Es lassen sich verschiedene Rahmenarten zuweisen.

Hintergrund zeichnen - Der Hintergrund wird gezeichnet oder ist transparent.

Deckkraft - Der Hintergrund kann halbtransparent sein. Zudem lässt sich der Verlauf der Transparenz einstellen.

 

 

Wichtigste Methoden

 

setBackground(Color bg)

 

Mit dieser Methode wird die Hintergrundfarbe für den XdevContainer festgelegt. Hierfür muss mit der Methode setBackgroundType bereits der Hintergrundtyp wie im Beispiel beschrieben auf COLOR gesetzt worden sein.

bg - Die Farbe, die als Hintergrundfarbe festgelegt wird.

 

// Setzt den Hintergrundtyp des XdevContainers auf "Farbe"
container.setBackgroundType(XdevStyle.COLOR);
// Setzt die Hintergrundfarbe des XdevContainers auf Blau
container.setBackground(Color.BLUE);

 

 

setTexturePath(String texturePath)

 

Mit dieser Methode wird die Textur für den XdevContainer festgelegt. Hierfür wird die sich unter dem übergebenen Pfad befindliche Textur verwendet.

texturePath - Der Pfad zu dem Bild, welches als Textur genutzt werden soll.

 

// Setzt die Textur auf die übergebene Datei "texture01.jpg" im Projektpackage "res/images"
container.setTexturePath("res/images/texture01.jpg");