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 -
- Layout i Java
- JDialog i Java
- Java-kommentarer
- BorderLayout i Java
- Java-implementeringsværktøjer
- JFrame i Java
- HTML-layout