Introduktion till GridBagLayout i Java

GridBagLayout är en av de mest komplexa, kraftfulla och komplexa layouthanterare som Java erbjuder. GridBagLayout justerar komponenterna vertikalt, horisontellt eller längs baslinjen. Komponenterna kan ha samma bredd eller inte, baserat på kravet. De underhåller och hanterar dynamiska celler där visningsområdet består av en eller flera celler. Dessa komponenter är associerade med GridBagConstraints instans där objekten med begränsningar hjälper till att ordna visningsområdet för komponenterna på rutnätet. GridBagLayout tillhör paketet java.awt. Låt oss se konstruktören, metoderna och implementeringen av GridBagLayout i följande avsnitt.

Konstruktörer av GridBagLayout i Java

Java.awt.GridBagLayout deklareras med följande syntax.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () är konstruktören för GridBagLayout som hjälper till att skapa en gridbag-layouthanterare. För det första skapar vi objektet för GridBagLayout-klassen med hjälp av en konstruktör utan argument

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

Låt oss se några av fälten för klassen java.awt.GridBagLayout.

  • PREFERRED_SIZE

Den anger den önskade rutstorleken från komponenten. Här kan det också vara det gap som måste användas för ett visst intervallvärde.

  • DEFAULT_SIZE

Den anger rutstorleken från komponenten. Här kan det också vara det gap som måste användas för ett visst intervallvärde.

  • defaultConstraints

Instansen av gridbag-begränsningar som innehåller standardvärdena hålls här.

  • layoutInfo

Gridbags layoutinformation finns i detta.

  • rowWeights

Overstyr till radvikterna här.

  • MAXGRIDSIZE

Det hjälper bakåtkompatibilitet.

  • rowHeights

Överskridningar hålls till minsta höjd på raden.

Metoder för GridBagLayout i Java

Följande är de olika metoderna för GridBagLayout som kan användas för olika ändamål.

  • removeLayoutComponent (Component cmpn)

Från layouten tas den angivna komponenten bort.

  • addLayoutComponent (Component cmpn, Object objcons)

Det specificerade objektet för begränsningen läggs till i den angivna komponentens layout.

  • getLayoutAlignmentY (Container cnt)

Justering längs y-axeln returneras.

  • addLayoutComponent (String name, Component cmpn)

Det specificerade objektet för begränsningen läggs till layouten för den angivna komponenten med ett specifikt namn.

  • att stränga()

Värden i rutnätslayouten returneras i representationen för strängen.

  • getLayoutAlignmentX (Container cnt)

Justering längs x-axeln returneras.

  • getConstraints (komponent cmpn)

Komponentens specificerade begränsningar returneras.

  • maximumLayoutSize (Container cnt)

Komponenter i behållaren returneras med maximala dimensioner.

  • minimumLayoutSize (Container cntmin)

Komponenter i behållaren returneras med minsta mått.

  • preferLayoutSize (Container cntpref)

Komponenter i behållaren returneras med de föredragna måtten.

  • arrangementGrid (Container cnt)

Det hjälper till att ordna rutnätet.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

Beroende på geometri för begränsningar, justerar denna metod bredd-, x-, höjd- och y-fälten till de rätta värdena.

  • getLayoutDimensions ()

Bredden på kolumnen och höjden på raderna bestäms med denna metod.

  • getLayoutInfo (Container cnt, int sizeflag)

Det är föråldrat och används för bakåtkompatibilitet.

  • getLayoutOrigin ()

Det bestämmer ursprunget för layoutområdet i grafikkoordinatutrymmet för målbehållaren.

  • getLayoutWeights ()

Vikten på raderna och höjden på raderna bestäms med denna metod.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Baserat på informationen som erhållits från getLayoutInfo, returneras minsta storlek på befälhavaren.

  • invalidateLayout (Container cnt)

Om information i cacheminnet finns i layouthanteraren ogiltigför den layouten.

  • layoutContainer (Container cnt)

Den angivna behållaren kommer att läggas ut med hjälp av denna rutnätslayout.

  • Punktplats (int x, int y)

Denna metod identifierar cellen som innehåller den punkt som nämns med x och y.

  • uppslagBegränsningar (komponent cmp)

Begränsningar för den nämnda komponenten hämtas.

  • setConstraints (Component cmp, GridBagConstraints const)

Begränsningar för den nämnda komponenten ställs in i layouten.

Program för att implementera GridBagLayout i Java

Låt oss nu se programmen för att implementera 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);
)
)

Provutgång:

Här skapas en GridBagLayout med fem knappar som A, B, C, D och E. Flera metoder används för att ställa in storlek, titel, GUI-synlighet etc.

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

Provutgång:

Detta program implementerar GridBagLayout på en annan metod. Men här är inte titeln inställd och bara tre knappar finns.

Slutsats

GridBagLayout är en av de kraftfulla, flexibla och komplexa layouthanterarna i Java som erbjuds paketet java.awt. Den justerar komponenterna vertikalt, horisontellt eller längs linjen. Syntax, konstruktör, metoder och implementering av GridBagLayout förklaras i detta dokument.

Rekommenderade artiklar

Detta är en guide till GridBagLayout i Java. Här diskuterar vi metoder och program för att implementera GridBagLayout i Java. Du kan också titta på följande artiklar för att lära dig mer -

  1. Layout i Java
  2. JDialog i Java
  3. Java-kommentarer
  4. BorderLayout i Java
  5. Java-distributionsverktyg
  6. JFrame i Java
  7. HTML-layout

Kategori: