Einführung in GridBagLayout in Java

GridBagLayout ist eines der komplexesten, leistungsfähigsten und komplexesten Layout-Manager-Java-Angebote. GridBagLayout richtet die Komponenten vertikal, horizontal oder entlang der Grundlinie aus. Die Bauteile können je nach Anforderung gleich breit sein oder nicht. Sie verwalten dynamische Zellen, bei denen der Anzeigebereich aus einer oder mehreren Zellen besteht. Diese Komponenten sind der Instanz von GridBagConstraints zugeordnet, in der die Objekte mit Einschränkungen beim Anordnen des Anzeigebereichs der Komponenten im Raster helfen. GridBagLayout ist aus dem Paket java.awt. Lassen Sie uns den Konstruktor, die Methoden und die Implementierung von GridBagLayout in den folgenden Abschnitten sehen.

Konstruktoren von GridBagLayout in Java

Java.awt.GridBagLayout wird mit der folgenden Syntax deklariert.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () ist der Konstruktor von GridBagLayout, der beim Erstellen eines Grid-Bag-Layout-Managers hilft. Zunächst erstellen wir das Objekt für die GridBagLayout-Klasse mit Hilfe eines Konstruktors ohne Argumente

GridBagLayout obj = new GridBagLayout();
setLayout(obj);

Sehen wir uns einige der Felder für die Klasse java.awt.GridBagLayout an.

  • PREFERRED_SIZE

Es gibt die bevorzugte Rastergröße der Komponente an. Hierbei kann es sich auch um die Lücke handeln, die für einen bestimmten Bereichswert verwendet werden muss.

  • STANDARD GRÖSSE

Es gibt die Rastergröße der Komponente an. Hierbei kann es sich auch um die Lücke handeln, die für einen bestimmten Bereichswert verwendet werden muss.

  • defaultConstraints

Hier wird die Instanz von Gridbag-Einschränkungen gespeichert, die die Standardwerte enthält.

  • layoutInfo

Darin sind die Layoutdetails von Gridbag enthalten.

  • rowWeights

Override zu den Zeilengewichten halten hier.

  • MAXGRIDSIZE

Es hilft bei der Abwärtskompatibilität.

  • rowHeights

Überschreibungen werden auf die Mindestreihenhöhe beschränkt.

Methoden von GridBagLayout in Java

Im Folgenden sind die verschiedenen Methoden von GridBagLayout aufgeführt, die für verschiedene Zwecke verwendet werden können.

  • removeLayoutComponent (Komponente cmpn)

Aus dem Layout wird die angegebene Komponente entfernt.

  • addLayoutComponent (Komponente cmpn, Objektobjekte)

Das angegebene Objekt der Einschränkung wird dem Layout der angegebenen Komponente hinzugefügt.

  • getLayoutAlignmentY (Container cnt)

Die Ausrichtung entlang der y-Achse wird zurückgegeben.

  • addLayoutComponent (Zeichenfolgename, Komponente cmpn)

Das angegebene Objekt der Einschränkung wird dem Layout der angegebenen Komponente mit einem bestimmten Namen hinzugefügt.

  • toString ()

Werte im Grid-Bag-Layout werden in der Darstellung der Zeichenfolge zurückgegeben.

  • getLayoutAlignmentX (Container cnt)

Die Ausrichtung entlang der x-Achse wird zurückgegeben.

  • getConstraints (Komponente cmpn)

Die angegebenen Einschränkungen der Komponente werden zurückgegeben.

  • maximumLayoutSize (Container cnt)

Komponenten im Container werden mit den maximalen Abmessungen zurückgegeben.

  • minimumLayoutSize (Container cntmin)

Komponenten im Container werden mit den Mindestabmessungen zurückgegeben.

  • preferredLayoutSize (Container cntpref)

Komponenten im Container werden mit den bevorzugten Abmessungen zurückgegeben.

  • arrangementGrid (Container cnt)

Es hilft bei der Anordnung des Rasters.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

Abhängig von der Geometrie der Abhängigkeiten passt diese Methode die Felder width, x, height und y an die richtigen Werte an.

  • getLayoutDimensions ()

Die Breite der Spalte und die Höhe der Zeilen werden mit dieser Methode bestimmt.

  • getLayoutInfo (Container cnt, int sizeflag)

Es ist veraltet und wird aus Gründen der Abwärtskompatibilität verwendet.

  • getLayoutOrigin ()

Er bestimmt den Ursprung des Layoutbereichs im Grafikkoordinatenraum des Zielcontainers.

  • getLayoutWeights ()

Die Gewichte der Spalte und die Höhe der Zeilen werden mit dieser Methode bestimmt.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Basierend auf den von getLayoutInfo erhaltenen Details wird die Mindestgröße des Masters zurückgegeben.

  • invalidateLayout (Container cnt)

Wenn im Layout-Manager zwischengespeicherte Informationen vorhanden sind, wird das Layout ungültig.

  • layoutContainer (Container cnt)

Der angegebene Container wird mit diesem Gitterbeutellayout ausgelegt.

  • Punktposition (int x, int y)

Diese Methode identifiziert die Zelle, die den erwähnten Punkt enthält, mit x und y.

  • lookupConstraints (Komponente cmp)

Einschränkungen der genannten Komponente werden abgerufen.

  • setConstraints (Komponente cmp, GridBagConstraints const)

Einschränkungen der genannten Komponente werden im Layout festgelegt.

Programm zur Implementierung von GridBagLayout in Java

Sehen wir uns nun die Programme zur Implementierung von GridBagLayout in Java an.

Programm Nr. 1

// Java program to implement GridBagLayout layout manager
//import the packages needed
import java.awt.Button;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.*;
//GridExample class extends JFrame
public class GridExample extends JFrame(
//main method
public static void main(String() args) (
//object of the class GridExample
GridExample ge = new GridExample();
)
//constructor of class GridExample
public GridExample() (
// Object of GridBagLayout
GridBagLayout gl = new GridBagLayout();
// Object of GridBagConstraints
GridBagConstraints gc = new GridBagConstraints();
// GridBagLayout is set
setLayout(gl);
// Method to set JFrame Title.
setTitle("Example for GridBag Layout ");
GridBagLayout ll = new GridBagLayout();
this.setLayout(ll);
//components in horizontal
gc.fill = GridBagConstraints.HORIZONTAL;
//left most row and top most column
gc.gridx = 0;
gc.gridy = 0;
//Button A added
this.add(new Button("Button A"), gc);
gc.gridx = 1;
gc.gridy = 0;
//Button B added
this.add(new Button("Button B"), gc);
gc.fill = GridBagConstraints.HORIZONTAL;
//increase component height by 20 pixels
gc.ipady = 20;
gc.gridx = 0;
gc.gridy = 1;
//Button C added
this.add(new Button("Button C"), gc);
gc.gridx = 1;
gc.gridy = 1;
///Button D added
this.add(new Button("Button D"), gc);
gc.gridx = 0;
gc.gridy = 2;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.gridwidth = 2;
//Button E added
this.add(new Button("Button E"), gc);
// set the size
setSize(200, 300);
setPreferredSize(getSize());
//GUI visible to user
setVisible(true);
//exit on clicking close button
setDefaultCloseOperation(EXIT_ON_CLOSE);
)
)

Beispielausgabe:

Hier wird ein GridBagLayout mit fünf Schaltflächen wie A, B, C, D und E erstellt. Es gibt verschiedene Methoden zum Festlegen von Größe, Titel, GUI-Sichtbarkeit usw.

Programm Nr. 2

//Java program to implement GridBagLayout
import java.awt.*;
import javax.swing.*;
public class GridExample (
//main method
public static void main(String() args) (
//object of JFrame
JFrame jf = new JFrame();
//exit on clicking close button
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//object of container
Container cn = jf.getContentPane();
//set layout
cn.setLayout(new GridBagLayout());
//object of constraints
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = 0;
gc.gridy = GridBagConstraints.RELATIVE;
cn.add(new JButton("Button A"));
cn.add(new JButton("Button B"));
gc.fill = GridBagConstraints.HORIZONTAL;
cn.add(new JButton("Button c"));
// set the size
jf.setSize(400, 300);
//GUI visible to user
jf.setVisible(true);
)
)

Beispielausgabe:

Dieses Programm implementiert das GridBagLayout in einer anderen Methode. Aber hier ist der Titel nicht gesetzt und es sind nur 3 Buttons vorhanden.

Fazit

GridBagLayout ist einer der leistungsstarken, flexiblen und komplexen Layout-Manager in Java, für den das Paket java.awt angeboten wird. Richtet die Komponenten vertikal, horizontal oder entlang der Linie aus. Syntax, Konstruktor, Methoden und Implementierung von GridBagLayout werden in diesem Dokument erläutert.

Empfohlene Artikel

Dies ist eine Anleitung zu GridBagLayout in Java. Hier diskutieren wir die Methoden und das Programm zur Implementierung von GridBagLayout in Java. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Layout in Java
  2. JDialog in Java
  3. Java-Anmerkungen
  4. BorderLayout in Java
  5. Java-Bereitstellungstools
  6. JFrame in Java
  7. HTML-Layout