Introducere pe GridBagLayout în Java

GridBagLayout este unul dintre cele mai complexe, puternice și complexe layout-uri oferite de Java. GridBagLayout aliniază componentele vertical, orizontal sau de-a lungul liniei de bază. Componentele pot avea aceeași lățime sau nu, în funcție de cerință. Acestea mențin și gestionează celule dinamice unde zona de afișare este formată din una sau mai multe celule. Aceste componente sunt asociate cu instanța GridBagConstraints în care obiectele constrângerilor ajută la aranjarea zonei de afișare a componentelor din grilă. GridBagLayout este din pachetul java.awt. Să vedem constructorul, metodele și implementarea GridBagLayout în secțiunile următoare.

Constructorii GridBagLayout în Java

Java.awt.GridBagLayout este declarat folosind următoarea sintaxă.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () este constructorul GridBagLayout care ajută la crearea unui manager de dispunere a sacului de grilă. În primul rând, creăm obiectul pentru clasa GridBagLayout cu ajutorul unui constructor fără argumente

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

Să vedem câteva dintre câmpurile pentru clasa java.awt.GridBagLayout.

  • PREFERRED_SIZE

Specifică dimensiunea grilei preferată de la componentă. Aici, poate fi, de asemenea, decalajul care trebuie utilizat pentru o anumită valoare a intervalului.

  • DEFAULT_SIZE

Specifică dimensiunea grilei de la componentă. Aici, poate fi, de asemenea, decalajul care trebuie utilizat pentru o anumită valoare a intervalului.

  • defaultConstraints

Instanța constrângerilor de tip bagaj care conține valorile implicite este păstrată aici.

  • layoutInfo

Detaliile privind aspectul Gridbag sunt în acest sens.

  • rowWeights

Se trece aici la greutățile de rând.

  • MAXGRIDSIZE

Ajută la compatibilitatea înapoi.

  • rowHeights

Înlocuirile sunt menținute la înălțimile minime de rând.

Metode de GridBagLayout în Java

Următoarele sunt mai multe metode de GridBagLayout care pot fi utilizate în diferite scopuri.

  • removeLayoutComponent (componenta cmpn)

Din aspect, componenta specificată este eliminată.

  • addLayoutComponent (Component cmpn, Obiecte obiect)

Obiectul specificat al constrângerii este adăugat la aspectul componentei specificate.

  • getLayoutAlignmentY (cnt Container)

Alinierea de-a lungul axei y este returnată.

  • addLayoutComponent (numele șirului, componenta cmpn)

Obiectul specificat al constrângerii este adăugat la aspectul componentei specificate cu un nume specific.

  • toString ()

Valorile din aspectul sacului de grilă sunt returnate în reprezentarea șirului.

  • getLayoutAlignmentX (cnt Container)

Alinierea de-a lungul axei X este returnată.

  • getConstraints (componenta cmpn)

Restricțiile specificate ale componentei sunt returnate.

  • maximumLayoutSize (Container cnt)

Componentele din container sunt returnate cu dimensiunile maxime.

  • minimumLayoutSize (container cntmin)

Componentele din container sunt returnate cu dimensiunile minime.

  • favoriteLayoutSize (Container cntpref)

Componentele din container sunt returnate cu dimensiunile preferate.

  • aranja Grid (Container cnt)

Ajută la amenajarea grilei.

  • adjustForGravity (GridBagConstraints cn, Rectangle rect)

În funcție de geometria constrângerilor, această metodă ajustează câmpurile de lățime, x, înălțime și y la valorile corecte.

  • getLayoutDimensions ()

Lățimea coloanei și înălțimea rândurilor sunt determinate folosind această metodă.

  • getLayoutInfo (cnt Container, int sizeglag)

Acesta este învechit și este utilizat pentru compatibilitatea înapoi.

  • getLayoutOrigin ()

Determină originea zonei de dispunere, în spațiul de coordonate grafice al containerului țintă.

  • getLayoutWeights ()

Greutatea coloanei și înălțimea rândurilor sunt determinate folosind această metodă.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Pe baza detaliilor obținute de la getLayoutInfo, dimensiunea minimă a masterului este returnată.

  • invalidateLayout (Container cnt)

Dacă unele informații din cache sunt prezente în managerul de machete, acestea invalidează aspectul.

  • layoutContainer (Container cnt)

Recipientul specificat va fi pus la dispoziție folosind acest aspect al sacului de grilă.

  • Locația punctului (int x, int y)

Această metodă identifică celula care conține punctul menționat folosind x și y.

  • searchConstraints (componenta cmp)

Restricțiile componentei menționate sunt preluate.

  • setConstraints (componenta cmp, consta GridBagConstraints)

Constrângerile componentei menționate sunt setate în aspect.

Program pentru implementarea GridBagLayout în Java

Acum, să vedem programele care să implementeze GridBagLayout în Java.

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

Ieșire de eșantion:

Aici, este creat un GridBagLayout cu cinci butoane precum A, B, C, D și E. Pentru setarea dimensiunii, titlului, vizibilității GUI, sunt utilizate mai multe metode etc.

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

Ieșire de eșantion:

Acest program implementează GridBagLayout într-o altă metodă. Dar, aici titlul nu este setat și sunt prezente doar 3 butoane.

Concluzie

GridBagLayout este unul dintre managerii de dispunere puternici, flexibili și complexi din Java, care oferă pachetul java.awt. Aliniază componentele pe verticală, pe orizontală sau de-a lungul liniei. Sintaxa, constructorul, metodele și implementarea GridBagLayout sunt explicate în acest document.

Articole recomandate

Acesta este un ghid pentru GridBagLayout în Java. Aici vom discuta despre Metode și Program pentru a implementa GridBagLayout în Java. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Aspect în Java
  2. JDialog în Java
  3. Adnotări Java
  4. BorderLayout în Java
  5. Instrumente de implementare Java
  6. JFrame în Java
  7. Aspect HTML