Introduksjon om GridBagLayout i Java

GridBagLayout er en av de mest komplekse, kraftige og komplekse layout manager Java tilbyr. GridBagLayout justerer komponentene vertikalt, horisontalt eller langs grunnlinjen. Komponentene kan ha samme bredde eller ikke, basert på kravet. De vedlikeholder og administrerer dynamiske celler der visningsområdet består av en eller flere celler. Disse komponentene er assosiert med GridBagConstraints 'forekomst der objekter med begrensninger hjelper til med å ordne visningsområdet til komponentene på nettet. GridBagLayout er av pakken java.awt. La oss se konstruktøren, metodene og implementeringen av GridBagLayout i de følgende seksjonene.

Konstruktører av GridBagLayout i Java

Java.awt.GridBagLayout er erklært ved bruk av følgende syntaks.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () er konstruktøren av GridBagLayout som hjelper deg med å lage en grid bag layout manager. For det første lager vi objektet for GridBagLayout-klassen ved hjelp av en konstruktør uten argument

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

La oss se noen av feltene for klassen java.awt.GridBagLayout.

  • PREFERRED_SIZE

Den spesifiserer den foretrukne rutenettstørrelsen fra komponenten. Her kan det også være gapet som må brukes for en bestemt rekkeviddeverdi.

  • DEFAULT_SIZE

Den spesifiserer rutenettstørrelse fra komponenten. Her kan det også være gapet som må brukes for en bestemt rekkeviddeverdi.

  • defaultConstraints

Forekomsten av gridbag-begrensninger som inneholder standardverdiene holdes her.

  • layoutInfo

Gridbags layoutdetaljer holder inne i dette.

  • rowWeights

Overstyr til radvektene holder her.

  • MAXGRIDSIZE

Det hjelper bakoverkompatibilitet.

  • rowHeights

Overskridelser holdes til minimumshøyden på raden.

Metoder for GridBagLayout i Java

Følgende er de forskjellige metodene til GridBagLayout som kan brukes til forskjellige formål.

  • removeLayoutComponent (Komponent cmpn)

Fra oppsettet fjernes den spesifiserte komponenten.

  • addLayoutComponent (Component cmpn, Object objcons)

Det spesifiserte objektet til begrensningen legges til utformingen av den spesifiserte komponenten.

  • getLayoutAlignmentY (Container cnt)

Justering langs y-aksen returneres.

  • addLayoutComponent (String name, Component cmpn)

Det spesifiserte objektet til begrensningen legges til utformingen av den spesifiserte komponenten med et spesifikt navn.

  • toString ()

Verdiene i nettposens oppsett returneres i representasjonen av strengen.

  • getLayoutAlignmentX (Container cnt)

Justering langs x-aksen returneres.

  • getConstraints (Komponent cmpn)

Komponentens spesifiserte begrensninger returneres.

  • maximumLayoutSize (Container cnt)

Komponenter i beholderen returneres med maksimale dimensjoner.

  • minimumLayoutSize (Container cntmin)

Komponenter i beholderen returneres med minimumsdimensjoner.

  • foretrukketLayoutSize (Container cntpref)

Komponenter i beholderen returneres med de foretrukne dimensjoner.

  • arrangementGrid (Container cnt)

Det hjelper med å ordne rutenettet.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

Avhengig av geometrien til begrensningene, justerer denne metoden bredden, x, høyden og y-feltene til de riktige verdiene.

  • getLayoutDimensions ()

Bredden på kolonnen og høyden på radene bestemmes ved bruk av denne metoden.

  • getLayoutInfo (Container cnt, int sizeflag)

Den er foreldet og brukes for bakoverkompatibilitet.

  • getLayoutOrigin ()

Det bestemmer opprinnelsen til layoutområdet, i grafikkoordinatområdet til målbeholderen.

  • getLayoutWeights ()

Vekten av kolonnen og høyden på radene bestemmes ved bruk av denne metoden.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Basert på detaljene hentet fra getLayoutInfo, returneres minimumsstørrelsen på masteren.

  • invalidateLayout (Container cnt)

Hvis noe hurtigbuffert informasjon er til stede i layoutbehandleren, ugyldiggjør det oppsettet.

  • layoutContainer (Container cnt)

Den spesifiserte beholderen vil bli lagt ut ved bruk av denne nettposeformasjonen.

  • Punktsted (int x, int y)

Denne metoden identifiserer cellen som inneholder punktet som er nevnt ved bruk av x og y.

  • oppslagBegrensninger (komponent cmp)

Begrensninger for den nevnte komponenten blir hentet.

  • setConstraints (Component cmp, GridBagConstraints const)

Begrensninger for den nevnte komponenten er satt i oppsettet.

Program for å implementere GridBagLayout i Java

La oss nå se programmene for å implementere 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);
)
)

Eksempelutgang:

Her opprettes en GridBagLayout med fem knapper som A, B, C, D og E. Flere metoder brukes for å stille inn størrelse, tittel, GUI-synlighet, etc.

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

Eksempelutgang:

Dette programmet implementerer GridBagLayout på en annen metode. Men her er ikke tittelen satt, og bare 3 knapper er til stede.

Konklusjon

GridBagLayout er en av de kraftige, fleksible og komplekse layoutadministratorene i Java som tilbys java.awt-pakken. Den justerer komponentene vertikalt, horisontalt eller langs linjen. Syntaks, konstruktør, metoder og implementering av GridBagLayout er forklart i dette dokumentet.

Anbefalte artikler

Dette er en guide til GridBagLayout i Java. Her diskuterer vi Metodene og programmet for å implementere GridBagLayout i Java. Du kan også se på følgende artikler for å lære mer -

  1. Oppsett i Java
  2. JDialog i Java
  3. Java-merknader
  4. BorderLayout i Java
  5. Java-distribusjonsverktøy
  6. JFrame i Java
  7. HTML-oppsett