Wprowadzenie do GridBagLayout w Javie

GridBagLayout to jedna z najbardziej złożonych, wydajnych i złożonych ofert Java menedżera układu. GridBagLayout wyrównuje komponenty pionowo, poziomo lub wzdłuż linii bazowej. Komponenty mogą mieć tę samą szerokość lub nie, w zależności od wymagań. Obsługują dynamiczne komórki i zarządzają nimi, gdy obszar wyświetlania składa się z jednej lub więcej komórek. Te komponenty są powiązane z instancją GridBagConstraints, w której obiekty ograniczeń pomagają w rozmieszczeniu obszaru wyświetlania komponentów na siatce. GridBagLayout należy do pakietu java.awt. Zobaczmy konstruktor, metody i implementację GridBagLayout w poniższych sekcjach.

Konstruktory GridBagLayout w Javie

Java.awt.GridBagLayout jest zadeklarowany przy użyciu następującej składni.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () jest konstruktorem GridBagLayout, który pomaga w tworzeniu menedżera układu worków siatki. Po pierwsze, tworzymy obiekt dla klasy GridBagLayout za pomocą konstruktora bez argumentów

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

Zobaczmy niektóre pola dla klasy java.awt.GridBagLayout.

  • PREFERRED_SIZE

Określa preferowany rozmiar siatki z komponentu. W tym przypadku może to być również przerwa, którą należy zastosować dla określonej wartości zakresu.

  • DEFAULT_SIZE

Określa rozmiar siatki z komponentu. W tym przypadku może to być również przerwa, którą należy zastosować dla określonej wartości zakresu.

  • defaultConstraints

Tutaj przechowywane jest wystąpienie ograniczeń gridbag, które zawiera wartości domyślne.

  • layoutInfo

Trzymają się w tym szczegóły układu Gridbag.

  • rowWeights

W tym miejscu można zastąpić wagi rzędów.

  • MAXGRIDSIZE

Pomaga w kompatybilności wstecznej.

  • rowHeights

Przesłania są utrzymywane na minimalnej wysokości rzędu.

Metody GridBagLayout w Javie

Oto kilka metod GridBagLayout, które można wykorzystać do różnych celów.

  • removeLayoutComponent (Component cmpn)

Z układu określony komponent jest usuwany.

  • addLayoutComponent (Component cmpn, Object objcons)

Określony obiekt ograniczenia jest dodawany do układu określonego komponentu.

  • getLayoutAlignmentY (cnt kontenera)

Wyrównanie wzdłuż osi y jest zwracane.

  • addLayoutComponent (nazwa ciągu, składnik cmpn)

Określony obiekt ograniczenia jest dodawany do układu określonego komponentu o określonej nazwie.

  • toString ()

Wartości w układzie worka siatki są zwracane w reprezentacji ciągu.

  • getLayoutAlignmentX (cnt kontenera)

Wyrównanie wzdłuż osi X jest zwracane.

  • getConstraints (Component cmpn)

Określone ograniczenia komponentu są zwracane.

  • maximumLayoutSize (cnt kontenera)

Komponenty w kontenerze są zwracane z maksymalnymi wymiarami.

  • minimumLayoutSize (cntmin kontenera)

Komponenty w pojemniku są zwracane z minimalnymi wymiarami.

  • preferowaneLayoutSize (cntpref kontenera)

Komponenty w kontenerze są zwracane z preferowanymi wymiarami.

  • arrangeGrid (cnt kontenera)

Pomaga w ułożeniu siatki.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

W zależności od geometrii wiązań ta metoda dostosowuje pola szerokość, x, wysokość i y do właściwych wartości.

  • getLayoutDimensions ()

Za pomocą tej metody określa się szerokość kolumny i wysokość rzędów.

  • getLayoutInfo (kontener cnt, int sizeflag)

Jest przestarzały i służy do kompatybilności wstecznej.

  • getLayoutOrigin ()

Określa początek obszaru układu w graficznej przestrzeni współrzędnych kontenera docelowego.

  • getLayoutWeights ()

Ciężary kolumny i wysokość rzędów określa się za pomocą tej metody.

  • getMinSize (kontener cnt, inf. GridBagLayoutInfo)

Na podstawie szczegółów uzyskanych z getLayoutInfo zwracany jest minimalny rozmiar wzorca.

  • invalidateLayout (cnt kontenera)

Jeśli niektóre informacje z pamięci podręcznej są obecne w menedżerze układu, unieważnia układ.

  • layoutContainer (cnt kontenera)

Określony pojemnik zostanie ułożony przy użyciu tego układu siatki.

  • Lokalizacja punktu (int x, int y)

Ta metoda identyfikuje komórkę zawierającą punkt wymieniony za pomocą xiy.

  • lookup Ograniczenia (komponent cmp)

Pobierane są ograniczenia wspomnianego komponentu.

  • setConstraints (Component cmp, GridBagConstraints const)

Ograniczenia wspomnianego komponentu są ustawiane w układzie.

Program do implementacji GridBagLayout w Javie

Zobaczmy teraz programy do implementacji GridBagLayout w Javie.

Program 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);
)
)

Przykładowe dane wyjściowe:

Tutaj tworzy się GridBagLayout z pięcioma przyciskami, takimi jak A, B, C, D i E. Do ustawiania rozmiaru, tytułu, widoczności GUI itp. Stosuje się kilka metod

Program 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);
)
)

Przykładowe dane wyjściowe:

Ten program implementuje GridBagLayout w innej metodzie. Ale tutaj tytuł nie jest ustawiony i obecne są tylko 3 przyciski.

Wniosek

GridBagLayout to jeden z potężnych, elastycznych i złożonych menedżerów układu w Javie, który oferuje pakiet java.awt. Wyrównuje komponenty w pionie, poziomie lub wzdłuż linii. Składnia, konstruktor, metody i implementacja GridBagLayout zostały wyjaśnione w tym dokumencie.

Polecane artykuły

To jest przewodnik po GridBagLayout w Javie. Tutaj omawiamy metody i program do implementacji GridBagLayout w Javie. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Układ w Javie
  2. JDialog w Javie
  3. Adnotacje Java
  4. BorderLayout w Javie
  5. Narzędzia wdrażania Java
  6. JFrame w Javie
  7. Układ HTML