Wie verwende ich GridBaglayout in Java? Alles, was Sie wissen müssen!

Gridbaglayout ist ein beliebter Layout-Manager im Zusammenhang mit der Programmiersprache Java. Die Flexibilität von Gridbaglayout ist zwar nicht für alle Situationen geeignet, aber auf jeden Fall nützlich und Java-Programmierer sollten dieses wertvolle Tool kennen. Aber was ist ein Layout-Manager und warum ist seine Verwendung für Java so wichtig?

Ein Layout-Manager ist wertvoll, weil er es dem Programmierer ermöglicht, Elemente einer Benutzeroberfläche zu platzieren, ohne sich auf Pixel als Maßeinheit verlassen zu müssen. Stattdessen kann der Programmierer relative Einheiten verwenden, was eine intuitivere Arbeitsweise darstellt.

Anstatt beispielsweise in HTML/CSS einzugeben, dass der linke Rand eines Bilds 35 Pixel betragen soll, und das Bild dadurch mit einem Layout-Manager wie Flexbox zu verschieben, kann ein Programmierer einfach „justify-content: right“ eingeben, um einen ungefähren Wert zu erhalten Wirkung. Diese Programmierwerkzeuge tragen zur Vereinfachung bei und erfordern weniger mathematische Berechnungen.

Während Flexbox mit HTML/CSS kompatibel ist, funktioniert Gridbaglayout ähnlich mit Java. Gridbaglayout funktioniert tatsächlich, indem es jedes in Java programmierte Objekt in ein dynamisches, rechteckiges Gitter aus Zellen unterteilt Orakel. Wenn Programmierer Gridbaglayout verwenden, entscheiden sie tatsächlich, welche Zellen der Layout-Manager verwendet, um die Platzierung, Form und Größe von Objekten zu bestimmen.

Girdbaglayout ist auch ein dynamischer Layout-Manager, was bedeutet, dass er (bei richtiger Programmierung) auf unterschiedliche Bildschirmgrößen reagieren und die Größe von Objekten entsprechend anpassen kann.

Mann arbeitet am Laptop

Diese Funktion ist im heutigen Programmierbereich aufgrund der zunehmenden Verbreitung unterschiedlicher Bildschirmgrößen wie Smartphones, Tablets usw. wertvoll. Der Versuch, diese Flexibilität ohne einen Layout-Manager fest in ein Programm zu programmieren, kann viel Zeit kosten Das ist für einen Programmierer eine Menge Stress!

Wenn Gridbaglayout also ein so leistungsstarkes und flexibles Tool ist, warum wird es dann nicht häufiger verwendet? Ganz einfach: Gridbaglayout ist komplex. Um Gridbaglayout zu verstehen und effizient zu nutzen, ist ein Studium erforderlich, und es gibt eine bemerkenswerte Lernkurve.

Gridbaglayout-Syntax

Gridbaglayout-Syntax

Beispielsweise ist die Syntax von Gridbaglayout nicht einfach und erfordert etwas Übung, bevor sie intuitiv wird.

Einem Objekt, das Gridbaglayout verwendet, müssen bestimmte Eigenschaften zugewiesen werden, die als Gridbagconstraints bezeichnet werden. Diese Eigenschaften enthalten einen Großteil der Informationen, die der Programmierer dem Objekt zuweist. Die Zuweisung dieser Eigenschaften erfolgt häufig in einer separaten Datei, die dann beim Ausführen vom Programm geladen wird.

Obwohl es viele Gridbagconstraint-Eigenschaften (oder -Komponenten) gibt, werden einige davon hier als Beispiele aufgeführt.

Eine Erinnerung an alle Programmierer: Diese Eigenschaften müssen zuerst erstellt und dann zugewiesen werden, wie alle Variablen in einer statischen Sprache wie Java.

Diese Liste erhebt keinen Anspruch auf Vollständigkeit und es wird viele Gridbaglayout-Eigenschaften geben, die hier nicht enthalten sind. Wenn Sie weitere Informationen benötigen, bietet die Universität Hamburg eine hervorragende Möglichkeit Website.

Gridx und Gridy

Die ersten (und offensichtlichsten) behandelten Eigenschaften sind „gridx“ und „gridy“. Auch wenn es für einige vielleicht offensichtlich ist, bestimmen diese beiden Eigenschaften, wo das Objekt im Programm erscheint. Diese Werte sind standardmäßig relativ! Dies ist für einen Programmierer, der diesen Layout-Manager verwendet, ein großer Vorteil, denn es bedeutet, dass sich ein mit diesen Eigenschaften platziertes Objekt bewegt, wenn sich die Bildschirmgröße ändert.

Gridx und Gridy können auch auf „absolut“ eingestellt werden, was weniger flexibel, aber auch vorhersehbarer ist – das Programm bestimmt die Platzierung des Objekts nicht anhand der Bildschirmgröße usw., sondern behält das Objekt stattdessen an einer statischen Platzierung, selbst wenn die Objekt verschwindet aufgrund eines kleineren Bildschirms.

Ein Beispiel für Gridx und Gridy in Java ist wie folgt:

*gridx = 0;

*gridy = 0;

Bitte beachten Sie, dass dieses Beispiel bei weitem nicht vollständig ist und nur als Beispiel für Formatierung und Nomenklatur dient.

Rasterbreite und Rasterhöhe

Gridwidth und Gridheight sind zwei Eigenschaften, die sich ähnlich verhalten. Die Rasterbreite bestimmt die Breite eines Objekts anhand der Anzahl der Zellen, die es einnimmt. Der Standardwert ist eins, aber ein Objekt kann so viele Zellen belegen, wie der Programmierer wünscht. Bei Verwendung der Rasterbreite werden die Zellen zeilenweise belegt.

Auch Gridheight nutzt dieses Prinzip. Wenn der Programmierer also ein höheres Objekt als den Standardwert haben möchte, muss der für Gridheight aufgeführte Wert größer als eins sein. Wie bei der Rasterbreite ist der Wert eins der Standardwert. Gridheight belegt Zellen spaltenweise statt zeilenweise. Keine dieser Eigenschaften verwendet Pixel oder andere statische Maßeinheiten.

Ein Beispiel für Gridwidth und Gridheight in Java ist wie folgt:

*Gitterbreite = 2;

*Gitterhöhe = 3;

Bitte beachten Sie, dass dieses Beispiel wie oben bei weitem nicht vollständig ist und nur als Beispiel für Formatierung und Nomenklatur dient.

Eigenschaft füllen

Frau arbeitet am Computer

Die Eigenschaft „Füllung“ wird verwendet, wenn der für das Objekt verfügbare Bereich größer als die Originalgröße des Objekts ist. Beispielsweise hat der Programmierer eine Benutzeroberfläche mit einer Box erstellt, die eine bestimmte Größe haben soll.

Der Endbenutzer betrachtet das Programm jedoch auf einem Monitor, der größer ist als der, für den der Programmierer ursprünglich vorgesehen war, und der Programmierer verwendete eine statische Messmethode, beispielsweise Pixel. In diesem Fall kann die Eigenschaft „fill“ verwendet werden, um zu bestimmen, was der Computer mit dem hinzugefügten Platz tun soll.

Zu den gültigen Werten für die Füllungseigenschaft gehört NONE. Dies ist der Standardwert, wenn nichts anderes zugewiesen ist. Das bedeutet, dass „gridbaglayout“ nichts unternimmt, wenn einem Objekt zusätzlicher Platz zugewiesen wird.

Zu den anderen Werten gehören HORIZONTAL, was es dem Objekt ermöglicht, sich auszudehnen und den gesamten verfügbaren zusätzlichen Raum auf der horizontalen Ebene zu umfassen, VERTICAL, was das Gleiche für das Objekt in Bezug auf die vertikale Ebene bewirkt, und BOTH, was es dem Objekt offensichtlich ermöglicht, den gesamten zusätzlichen Raum auszufüllen auf beiden Achsen.

Ein Beispiel für die Fill-Eigenschaft in Java lautet wie folgt:

*gridBagconstraints = c.gridbagconstraints

*button = newButton

*c.fill = gridbagcontraints.HORIZONTAL

Auch dieses Beispiel ist bei weitem nicht vollständig und soll nur als äußerst einfaches Beispiel für Formatierung und Nomenklatur dienen.

Ipadx- und Ipady-Eigenschaften

Frau arbeitet am Laptop

Die Eigenschaften ipadx und ipady können irreführend sein. Diese beiden Eigenschaften haben nichts mit einem bestimmten Tablet eines namhaften Computerherstellers zu tun. Stattdessen befasst sich diese Eigenschaft mit der internen Polsterung.

Ein offensichtliches Beispiel für eine Innenpolsterung wäre ein Objekt wie eine Kiste. Wenn ein separater Code die Größe der Box bestimmen würde, könnte auch ein ipadx und/oder ipady hinzugefügt werden, um die Größe der Box von innen dynamisch zu vergrößern, abhängig vom verfügbaren Platz auf dem Bildschirm.

Die ipadx-Eigenschaft aktiviert diese Funktion horizontal, während die ipady-Funktion sie vertikal aktiviert. Der Standardwert dieser Eigenschaften ist Null. Im Gegensatz zu den anderen bisher aufgeführten Eigenschaften verwenden diese Eigenschaften Pixel, bei denen es sich um ein absolutes Maß für die Vergrößerung des Objekts handelt.

Beachten Sie außerdem, dass diese Eigenschaften für beide Seiten des Objekts gelten. Daher sollte die der Eigenschaft zugewiesene Zahl mit zwei multipliziert werden, um dies zu berücksichtigen.

Wenn der Programmierer beispielsweise den horizontalen Abstand eines Objekts um vier Pixel erhöhen möchte, sollte der in der ipadx-Eigenschaft platzierte Wert 2 (2×2 = 4) sein. Dies gilt natürlich auch für die ipady-Immobilie.

Beispiele für die ipadx- und ipady-Eigenschaften in Java sind wie folgt:

*ipadx = 15

*ipady = 40

Wie immer sind diese Beispiele bei weitem nicht vollständig und dienen lediglich der Veranschaulichung der Formatierung und Nomenklatur.

Eingefügte Eigenschaft

Mann arbeitet am Laptop

Die Eigenschaft „inset“ wird selten verwendet, hat aber so viele Gemeinsamkeiten mit den Eigenschaften „ipadx“ und „ipady“, dass sie hier behandelt werden sollte. Während sich die Eigenschaften „ipadx“ und „ipady“ mit der Innenpolsterung befassen, befasst sich die Eigenschaft „inset“ mit der Außenpolsterung.

In der Praxis beeinflusst diese Eigenschaft den Abstand des Objekts zu anderen Objekten. Wenn ein Programmierer beispielsweise möchte, dass ein Objekt 15 Pixel von einem anderen Objekt entfernt bleibt, wird unabhängig von der Bildschirmkonfiguration die Eigenschaft „inset“ verwendet.

Ein Beispiel für die inset-Eigenschaft in Java lautet wie folgt:

*Einschub = 15

Die letzten Eigenschaften, die in diesem Artikel behandelt werden, sind „weightx“ und „weighty“. Diese beiden Eigenschaften bestimmen, WIE Inhalte innerhalb eines Objekts verteilt werden.

Wenn es sich bei dem Objekt, das ein Programmierer beispielsweise erstellt, zufällig um eine Schaltfläche mit einer Textbeschriftung handelt, die ihre Funktion erklärt, bestimmen „weightx“ und „weighty“ den Abstand der Beschriftung. Wenn die Werte beider auf Null gesetzt sind, was die Standardeinstellung ist, klumpt der Text um die Mitte herum. Wenn der Wert von „weightx“ jedoch auf eine Zahl zwischen Null und Eins (z. B. .5) eingestellt ist, wird der Raum um den Text herum auf die Buchstaben verteilt, wodurch mehr Platz entsteht.

Beachten Sie, dass die Gewichtungseigenschaften im Gegensatz zu den anderen in diesem Artikel behandelten Eigenschaften über einen eigenen Wertesatz verfügen, der nicht auf Pixeln oder dem Zellenraster basiert, das von anderen Eigenschaften von „gridbaglayout“ verwendet wird.

Wie bei anderen Eigenschaften, die in Gridbaglayout verwendet werden, beeinflusst die Eigenschaft „weightx“ die horizontale Platzierung des Materials innerhalb des Objekts, während die Eigenschaft „weighty“ die vertikale Platzierung des Materials innerhalb des Objekts beeinflusst. Beide Eigenschaften sollten nur einen Wert zwischen Null und Eins enthalten – große Zahlen sollten vermieden werden.

Ein Beispiel für die Weight-Eigenschaft in Java lautet wie folgt:

*gewichtig = .5

Bitte beachten Sie, dass der Leser, wenn er weitere Informationen zu Gridbaglayout benötigt, dies möglicherweise wünscht Lesen Sie die Informationen von Tech Republic.

Wie aus den vorherigen Absätzen hervorgeht, deckt dieser Artikel kaum alle Informationen ab, die zum Verständnis des Gridbag-Layouts erforderlich sind. Die oben gezeigten Beispiele sollen jedoch veranschaulichen, wie flexibel und leistungsfähig dieser Layout-Manager ist. Mit Gridbaglayout kann sich ein Programmierer auf die Funktionalität seiner Java-Programmierung konzentrieren, anstatt sich mit der mühsamen Gestaltung eines Layouts für mehrere Ansichtsfenster-Bildschirme herumschlagen zu müssen.

Es besteht kein Zweifel, dass Gridbaglayout eine steile Lernkurve hat. Aber für den hartnäckigen Schüler sind die durch das Erlernen erzielten Produktivitätssteigerungen beeindruckend.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen