Вступ на 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 містяться в цьому.

  • ряд ваг

Тут перетримують ваги ряду.

  • MAXGRIDSIZE

Це допомагає в зворотній сумісності.

  • рядокВиси

Перестановки проводяться до мінімальної висоти рядка.

Методи компонування GridBagLayout на Java

Нижче наведено кілька методів GridBagLayout, які можна використовувати для різних цілей.

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

З макета вказаний компонент видаляється.

  • addLayoutComponent (Component cmpn, Objcons Object)

Зазначений об'єкт обмеження додається до макета зазначеного компонента.

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

Вирівнювання вздовж осі y повертається.

  • addLayoutComponent (назва рядка, компонент cmpn)

Зазначений об'єкт обмеження додається до макета зазначеного компонента із конкретним іменем.

  • toString ()

Значення в макеті мішок-сітки повертаються у поданні рядка.

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

Вирівнювання вздовж осі x повертається.

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

Вказані обмеження компонента повертаються.

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

Компоненти в контейнері повертаються з максимальними розмірами.

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

Компоненти в контейнері повертаються з мінімальними розмірами.

  • preferenceLayoutSize (cntpref контейнера)

Компоненти в контейнері повертаються з бажаними розмірами.

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

Це допомагає в організації сітки.

  • скористатися налаштуванням тяжкості (GridBagConstraints cn, прямокутний прямокутник)

Залежно від геометрії обмежень, цей метод регулює поля ширини, x, висоти та y під потрібні значення.

  • getLayoutDimensions ()

Ширина стовпчика та висота рядків визначаються за допомогою цього методу.

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

Він застарілий і використовується для зворотної сумісності.

  • getLayoutOrigin ()

Він визначає походження області макета, в графічному координатному просторі цільового контейнера.

  • getLayoutWeights ()

Ваги стовпчика та висота рядків визначаються за допомогою цього методу.

  • getMinSize (Container cnt, GridBagLayoutInfo inf)

Виходячи з деталей, отриманих від getLayoutInfo, повертається мінімальний розмір ведучого.

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

Якщо деяка кешована інформація присутня в диспетчері макетів, вона скасовує макет.

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

Зазначений контейнер буде викладений за допомогою цього макета сіткового мішка.

  • Місце розташування точки (int x, int y)

Цей метод ідентифікує комірку, яка містить згадану точку, використовуючи x та y.

  • lookupConstraints (Компонент 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. Для встановлення розміру, заголовка, видимості графічного інтерфейсу тощо використовується декілька методів.

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