Introduktion til GridBagLayout i Java

GridBagLayout er en af ​​de mest komplekse, kraftfulde og komplekse layoutadministratorer, Java tilbyder. GridBagLayout justerer komponenterne lodret, vandret eller langs basislinjen. Komponenterne kan være af samme bredde eller ej, afhængigt af kravet. De vedligeholder og administrerer dynamiske celler, hvor displayområdet er sammensat af en eller flere celler. Disse komponenter er forbundet med GridBagConstraints 'forekomst, hvor objekterne med begrænsninger hjælper med at arrangere visningsområdet for komponenterne på gitteret. GridBagLayout er af pakken java.awt. Lad os se konstruktøren, metoder og implementering af GridBagLayout i de følgende afsnit.

Konstruktører af GridBagLayout i Java

Java.awt.GridBagLayout erklæres ved hjælp af følgende syntaks.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () er konstruktøren af ​​GridBagLayout, som hjælper med at skabe en grid taske layout manager. For det første opretter vi objektet til GridBagLayout-klassen ved hjælp af en konstruktør uden argumenter

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

Lad os se nogle af felterne til klassen java.awt.GridBagLayout.

  • PREFERRED_SIZE

Det specificerer den foretrukne gitterstørrelse fra komponenten. Her kan det også være det hul, der skal bruges til en bestemt rækkeværdi.

  • DEFAULT_SIZE

Det specificerer netstørrelsen fra komponenten. Her kan det også være det hul, der skal bruges til en bestemt rækkeværdi.

  • defaultConstraints

Forekomsten af ​​gridbag-begrænsninger, der indeholder standardværdierne, holdes her.

  • layoutInfo

Gridbag's layoutdetaljer holder inde i dette.

  • rowWeights

Overstyr til rækkevægterne er her.

  • MAXGRIDSIZE

Det hjælper med bagudkompatibilitet.

  • rowHeights

Tilsidesættelse holdes til minimumshøjderne i række.

Metoder til GridBagLayout i Java

Følgende er de forskellige metoder til GridBagLayout, der kan bruges til forskellige formål.

  • removeLayoutComponent (Komponent cmpn)

Fra layout fjernes den specificerede komponent.

  • addLayoutComponent (komponent cmpn, objektobjcons)

Det specificerede objekt med begrænsningen føjes til layoutet for den specificerede komponent.

  • getLayoutAlignmentY (Container cnt)

Justering langs y-aksen returneres.

  • addLayoutComponent (strengnavn, komponent cmpn)

Det specificerede objekt med begrænsningen føjes til layoutet for den specificerede komponent med et specifikt navn.

  • toString ()

Værdier i netposlayoutet returneres i repræsentationen af ​​strengen.

  • getLayoutAlignmentX (Container cnt)

Justering langs x-aksen returneres.

  • getConstraints (komponent cmpn)

Komponentens specificerede begrænsninger returneres.

  • maximumLayoutSize (Container cnt)

Komponenter i beholderen returneres med de maksimale dimensioner.

  • minimumLayoutSize (Container cntmin)

Komponenter i beholderen returneres med minimale dimensioner.

  • foretrukketLayoutSize (Container cntpref)

Komponenter i beholderen returneres med de foretrukne dimensioner.

  • arrangementGrid (Container cnt)

Det hjælper med at arrangere gitteret.

  • justereForGravity (GridBagConstraints cn, Rectangle rect)

Afhængig af geometrien for begrænsninger, justerer denne metode bredden, x, højden og y-felterne til de rigtige værdier.

  • getLayoutDimensions ()

Bredden på søjlen og rækkernes højde bestemmes ved hjælp af denne metode.

  • getLayoutInfo (Container cnt, int sizeflag)

Det er forældet og bruges til bagudkompatibilitet.

  • getLayoutOrigin ()

Det bestemmer oprindelsen af ​​layoutområdet i det grafiske koordinatrum i målcontaineren.

  • getLayoutWeights ()

Vægterne på søjlen og højden på rækkerne bestemmes ved hjælp af denne metode.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Baseret på de detaljer, der er opnået fra getLayoutInfo, returneres minimumsstørrelsen på masteren.

  • invalidateLayout (Container cnt)

Hvis nogle cache-oplysninger findes i layoutadministratoren, annulleres det layoutet.

  • layoutContainer (Container cnt)

Den specificerede beholder vil blive lagt ud ved hjælp af dette netpapirlayout.

  • Punkt placering (int x, int y)

Denne metode identificerer den celle, der indeholder det nævnte punkt ved hjælp af x og y.

  • opslagBegrænsninger (komponent cmp)

Begrænsninger for den nævnte komponent hentes.

  • setConstraints (Komponent cmp, GridBagConstraints const)

Begrænsninger for den nævnte komponent er indstillet i layoutet.

Program til implementering af GridBagLayout i Java

Lad os nu se programmerne til implementering af GridBagLayout i Java.

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

Prøveudgang:

Her oprettes en GridBagLayout med fem knapper som A, B, C, D og E. Flere metoder bruges til at indstille størrelse, titel, GUI-synlighed osv.

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

Prøveudgang:

Dette program implementerer GridBagLayout på en anden metode. Men her er titlen ikke indstillet, og kun 3 knapper er til stede.

Konklusion

GridBagLayout er en af ​​de magtfulde, fleksible og komplekse layoutadministratorer i Java, der tilbydes java.awt-pakken. Den justerer komponenterne lodret, vandret eller langs linjen. Syntaks, konstruktør, metoder og implementering af GridBagLayout er forklaret i dette dokument.

Anbefalede artikler

Dette er en guide til GridBagLayout i Java. Her diskuterer vi metoder og program til implementering af GridBagLayout i Java. Du kan også se på de følgende artikler for at lære mere -

  1. Layout i Java
  2. JDialog i Java
  3. Java-kommentarer
  4. BorderLayout i Java
  5. Java-implementeringsværktøjer
  6. JFrame i Java
  7. HTML-layout

Kategori: