Úvod do programu GridBagLayout v Jave

GridBagLayout je jednou z najkomplexnejších, najvýkonnejších a najkomplexnejších správcov rozloženia Java. GridBagLayout zarovná komponenty vertikálne, horizontálne alebo pozdĺž základnej línie. Komponenty môžu mať na základe požiadavky rovnakú šírku alebo nie. Udržiavajú a spravujú dynamické bunky, v ktorých je oblasť displeja zložená z jednej alebo viacerých buniek. Tieto komponenty sú spojené s inštanciou GridBagConstraints, v ktorej objekty obmedzení pomáhajú pri usporiadaní zobrazovacej plochy komponentov na mriežke. GridBagLayout je z balíka java.awt. Pozrime sa na konštruktora, metódy a implementáciu GridBagLayout v nasledujúcich častiach.

Konštruktori GridBagLayout v Jave

Java.awt.GridBagLayout sa deklaruje pomocou nasledujúcej syntaxe.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () je konštruktérom GridBagLayout, ktorý pomáha pri vytváraní manažéra rozloženia tašiek. Najprv vytvoríme objekt pre triedu GridBagLayout pomocou konštruktora bez argumentov

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

Pozrime sa na niektoré z polí pre triedu java.awt.GridBagLayout.

  • PREFERRED_SIZE

Určuje preferovanú veľkosť mriežky z komponentu. Tu môže byť tiež použitá medzera pre konkrétnu hodnotu rozsahu.

  • DEFAULT_SIZE

Určuje veľkosť mriežky z komponentu. Tu môže byť tiež použitá medzera pre konkrétnu hodnotu rozsahu.

  • defaultConstraints

Tu sa nachádza inštancia obmedzení gridbag, ktorá obsahuje predvolené hodnoty.

  • layoutInfo

Podrobnosti o usporiadaní Gridbagu to drží.

  • rowWeights

Tu sú potlačené závažia.

  • MAXGRIDSIZE

Pomáha pri spätnej kompatibilite.

  • rowHeights

Prepísania sa udržiavajú na minimálnej výške riadku.

Metódy GridBagLayout v Jave

Nasleduje niekoľko metód GridBagLayout, ktoré je možné použiť na rôzne účely.

  • removeLayoutComponent (Component cmpn)

Z rozloženia sa zadaný komponent odstráni.

  • addLayoutComponent (Component cmpn, Object objcons)

Zadaný objekt obmedzenia sa pridá do rozloženia určeného komponentu.

  • getLayoutAlignmentY (Container cnt)

Zarovnanie pozdĺž osi y sa vráti.

  • addLayoutComponent (String name, Component cmpn)

Zadaný objekt obmedzenia sa pridá do rozloženia určeného komponentu s konkrétnym názvom.

  • natiahnuť()

Hodnoty v rozložení vrecka mriežky sa vrátia v reprezentácii reťazca.

  • getLayoutAlignmentX (Container cnt)

Zarovnanie pozdĺž osi x je vrátené.

  • getConstraints (Component cmpn)

Vrátia sa obmedzenia zadané pre komponent.

  • maximumLayoutSize (Container cnt)

Súčasti v kontajneri sa vracajú s maximálnymi rozmermi.

  • minimumLayoutSize (Container cntmin)

Súčasti v kontajneri sa vracajú s minimálnymi rozmermi.

  • preferovanýLayoutSize (Container cntpref)

Súčasti v nádobe sa vracajú s výhodnými rozmermi.

  • aranžérGrid (Container cnt)

Pomáha pri usporiadaní mriežky.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

V závislosti od geometrie obmedzení táto metóda upravuje polia šírky, x, výšky a y na správne hodnoty.

  • getLayoutDimensions ()

Týmto spôsobom sa určuje šírka stĺpca a výška riadkov.

  • getLayoutInfo (Container cnt, int sizeflag)

Je zastaraný a používa sa na spätnú kompatibilitu.

  • getLayoutOrigin ()

Určuje pôvod oblasti rozloženia v grafickom súradnicovom priestore cieľového kontajnera.

  • getLayoutWeights ()

Pomocou tejto metódy sa určia hmotnosti stĺpca a výška riadkov.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Na základe detailov získaných z getLayoutInfo sa vráti minimálna veľkosť predlohy.

  • invalidateLayout (Container cnt)

Ak sú niektoré informácie uložené v pamäti cache v správcovi rozloženia, zruší platnosť rozloženia.

  • layoutContainer (Container cnt)

Zadaný kontajner sa rozloží pomocou tohto rozloženia sieťových tašiek.

  • Poloha bodu (int x, int y)

Táto metóda identifikuje bunku, ktorá obsahuje uvedený bod, pomocou x a y.

  • lookupConstraints (Component cmp)

Obmedzia sa uvedené komponenty.

  • setConstraints (Component cmp, GridBagConstraints const)

Obmedzenia uvedeného komponentu sa nastavujú v rozložení.

Program na implementáciu GridBagLayout v Jave

Teraz sa pozrime na programy na implementáciu programu GridBagLayout do jazyka Java.

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

Vzorový výstup:

Tu sa vytvorí GridBagLayout s piatimi tlačidlami, ako sú A, B, C, D a E. Na nastavenie veľkosti, názvu, viditeľnosti GUI atď. Sa používa niekoľko metód.

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

Vzorový výstup:

Tento program implementuje GridBagLayout inou metódou. Tu však nie je nastavený názov a sú k dispozícii iba 3 tlačidlá.

záver

GridBagLayout je jedným z výkonných, flexibilných a komplexných manažérov rozloženia v Jave, ktorý sa ponúka v balíčku java.awt. Zarovná komponenty vertikálne, horizontálne alebo pozdĺž línie. V tomto dokumente je vysvetlená syntax, konštruktor, metódy a implementácia GridBagLayout.

Odporúčané články

Toto je sprievodca programom GridBagLayout v Jave. Tu diskutujeme metódy a program na implementáciu GridBagLayout v Jave. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Rozloženie v Jave
  2. JDialog v Jave
  3. Poznámky jazyka Java
  4. BorderLayout v Jave
  5. Java Deployment Tools
  6. JFrame v Jave
  7. Rozloženie HTML

Kategórie: