Вступ на 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. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Макет на Java
- JDialog на Java
- Анотації на Java
- BorderLayout на Java
- Інструменти розгортання Java
- JFrame на Java
- Макет HTML