Въведение в GridBagLayout в Java

GridBagLayout е един от най-сложните, мощни и сложни мениджър за оформление, които Java предлага. GridBagLayout подравнява компонентите вертикално, хоризонтално или по базовата линия. Компонентите могат да бъдат с еднаква ширина или не, въз основа на изискването. Те поддържат и управляват динамични клетки, където дисплейната област се състои от една или повече клетки. Тези компоненти са свързани с екземпляра на GridBagConstraints, в който обектите на ограниченията помагат при подреждането на зоната на показване на компонентите в мрежата. GridBagLayout е от пакета java.awt. Нека да видим конструктора, методите и внедряването на GridBagLayout в следващите раздели.

Конструктори на GridBagLayout в Java

Java.awt.GridBagLayout се декларира, използвайки следния синтаксис.

public class GridBagLayout extends Object implements LayoutManager2, Serializable

GridBagLayout () е конструкторът на GridBagLayout, който помага при създаването на мениджър за подреждане на мрежова торба. Първо, ние създаваме обекта за клас GridBagLayout с помощта на конструктор без аргументи

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

Нека видим някои от полетата за класа java.awt.GridBagLayout.

  • PREFERRED_SIZE

Той определя предпочитания размер на решетката от компонента. Тук може да бъде и разликата, която трябва да се използва за определена стойност на диапазона.

  • DEFAULT_SIZE

Той определя размера на мрежата от компонента. Тук може да бъде и разликата, която трябва да се използва за определена стойност на диапазона.

  • defaultConstraints

Тук се задържа екземплярът на ограниченията на мрежата, съдържащи стойностите по подразбиране.

  • layoutInfo

Подробностите за оформлението на Gridbag се съдържат в това.

  • rowWeights

Тук се задържат тежестите на редиците.

  • MAXGRIDSIZE

Помага при обратна съвместимост.

  • rowHeights

Отмените се задържат до минималните височини на ред.

Методи на GridBagLayout в Java

По-долу са няколко метода на GridBagLayout, които могат да бъдат използвани за различни цели.

  • removeLayoutComponent (Component cmpn)

От оформлението посоченият компонент се премахва.

  • addLayoutComponent (Component cmpn, Objcons objcons)

Посоченият обект на ограничението се добавя към оформлението на посочения компонент.

  • getLayoutAlignmentY (Контейнер cnt)

Подравняването по оста y се връща.

  • addLayoutComponent (Име на низ, Компонент cmpn)

Посоченият обект на ограничението се добавя към оформлението на посочения компонент с конкретно име.

  • ToString ()

Стойностите в оформлението на мрежовата торба се връщат в представянето на низа.

  • getLayoutAlignmentX (Контейнер cnt)

Подравняването по оста x се връща.

  • getConstraints (Компонент cmpn)

Определените ограничения на компонента се връщат.

  • максимален размер (контейнер cnt)

Компонентите в контейнера се връщат с максималните размери.

  • minimalLayoutSize (контейнер cntmin)

Компонентите в контейнера се връщат с минималните размери.

  • предпочитанLayoutSize (cntpref Container)

Компонентите в контейнера се връщат с предпочитаните размери.

  • аранжиране на решетка (контейнер cnt)

Помага при подреждането на мрежата.

  • коригиранеForGravity (GridBagConstraints cn, правоъгълник)

В зависимост от геометрията на ограниченията, този метод настройва полетата ширина, x, височина и y на правилните стойности.

  • getLayoutDimensions ()

Ширината на колоната и височината на редовете се определят с помощта на този метод.

  • getLayoutInfo (Контейнер cnt, int sizeflag)

Той е остарял и се използва за обратна съвместимост.

  • getLayoutOrigin ()

Той определя произхода на областта на оформлението, в графичното координатно пространство на целевия контейнер.

  • getLayoutWeights ()

Теглата на колоната и височината на редовете се определят по този метод.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Въз основа на данните, получени от getLayoutInfo, минималният размер на главния се връща.

  • invalidateLayout (Container cnt)

Ако някаква кеширана информация присъства в диспечера на оформлението, тя обезсилва оформлението.

  • layoutContainer (контейнер cnt)

Посоченият контейнер ще бъде разположен, като се използва това оформление на мрежовата торба.

  • Местоположение на точката (int x, int y)

Този метод идентифицира клетката, която съдържа споменатата точка, използвайки x и y.

  • lookupConstraints (Component cmp)

Ограниченията на споменатия компонент са извлечени.

  • setConstraints (Component cmp, GridBagConstraints const)

Ограниченията на споменатия компонент са зададени в оформлението.

Програма за внедряване на GridBagLayout в Java

Сега, нека да видим програмите за внедряване на GridBagLayout в Java.

Програма №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);
)
)

Примерен изход:

Тук се създава GridBagLayout с пет бутона като A, B, C, D и E. За настройка на размер, заглавие, видимост на GUI и т.н. се използват няколко метода.

Програма №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);
)
)

Примерен изход:

Тази програма реализира GridBagLayout по друг метод. Но, тук заглавието не е зададено и присъстват само 3 бутона.

заключение

GridBagLayout е един от мощните, гъвкави и сложни мениджъри на оформление в Java, който се предлага java.awt пакет. Той подравнява компонентите вертикално, хоризонтално или по линията. Синтаксис, конструктор, методи и изпълнение на GridBagLayout са обяснени в този документ.

Препоръчителни статии

Това е ръководство за GridBagLayout в Java. Тук обсъждаме методите и програмата за внедряване на GridBagLayout в Java. Може да разгледате и следните статии, за да научите повече -

  1. Оформление в Java
  2. JDialog на Java
  3. Анотации на Java
  4. BorderLayout в Java
  5. Инструменти за разполагане на Java
  6. JFrame на Java
  7. HTML оформление