Вступ до BorderLayout на Java

BorderLayout в Java або менеджер макета - це об'єкт, який має кожен об'єкт контейнера, який контролює його макет, тобто розмір і положення компонентів. Мовою простої мови ці менеджери макетів використовуються для того, щоб упорядкувати компоненти певним або певним чином. "LayoutManager" можна сказати як інтерфейс, який реалізований усіма його класами. Є деякі класи AWT та SWING, які були представлені як менеджери компонування для загального використання. Деякі з них перелічені нижче:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. Макет потоку
  5. Груповий макет
  6. GridLayout тощо

Перед тим, як перейти до BorderLayout, давайте припустимо обговорити деякі моменти.

Практично все в комп'ютерному світі є ієрархічно організованим або для кращого зберігання, або для створення простої системи пошуку. Менеджери макетів, що використовуються для створення графічних інтерфейсів за допомогою доступних класів AWT, є частиною однієї такої ієрархічної системи. Це йде під назвою Ієрархія Затримання. Хоча в цій статті буде зосереджено увагу на одному з доступних інструментів LayoutManager, відомому як BorderLayout, до цього ми повинні знати, де BorderLayout стоїть у цій Ієрархії. Наша структура дерева, яка проходить через кадри, компоненти GUI, контейнери тощо, починається з:

  1. По-перше, контейнер верхнього рівня або клас контейнерів верхнього рівня, такий як JFrame, JApplet або JDialog, який діє як "ROOT" цієї ієрархії стримування.
  2. По-друге, щоб компонент відображався як компонент GUI на екрані, він повинен бути включений в ієрархію стримування.
  3. По-третє, один компонент повинен міститись або міститись лише в одному контейнері.
  4. По-четверте, кожен контейнер верхнього рівня матиме панель вмісту, вільно кажучи, кожен видимий графічний інтерфейс (прямо чи опосередковано) міститься в цій області вмісту.

Що таке BorderLayout?

Клас BorderLayout - це один із класів менеджера макетів, який вважається компонуванням за замовчуванням для об’єктів вікна. Об'єкти вікна, такі як JFrame, JWindow, JDialog, використовують цей клас для відображення як компоненти GUI. BorderLayout використовується для компонування контейнера, тобто упорядкування та зміни розміру його компонентів. Макет кордону розташовує ці компоненти на п'ять різних регіонів. З п'яти, чотирьох регіонів або областей називають північ, південь, схід і захід, а середній регіон називають центром. Кожна область може містити лише один компонент. Макет кордону забезпечує сукупність констант, що використовуються для позиціонування компонентів. Регіони, що обговорюються тут, ідентифікуються відповідною константою з назвою Північ, Південь, Схід, Захід та константа для середнього регіону як ЦЕНТР. Ми використовуємо ці константи, додаючи компонент, використовуючи макет рамки. Константи для кожного регіону, використовуваного в нашому коді, перелічені нижче:

  • державний статичний кінцевий int СІВНІСТЬ: Константа розміщення Півночі у верхній частині контейнера
  • загальнодоступний статичний кінцевий int Південь: константа розміщення на півдні на дні контейнера.
  • public static final int CENTER: Константа розташування центру в середині контейнера.
  • загальнодоступна статична фінальна int WEST: константа розташування Заходу праворуч від контейнера.
  • public static final int EAST: константа макета Сходу зліва від контейнера.

Крім перерахованих вище констант, BorderLayout надає й інші константи позиціонування, такі як PAGE_START, PAGE_END тощо.

Конструктори BorderLayout

Конструктори BorderLayout використовуються для створення нових макетів кордонів із зазорами або без проміжків між компонентами. Конструктор компонування кордонів використовує параметри зазору та зазору для визначення горизонтальних зазорів та вертикальних зазорів між компонентами. Конструктори компонування кордонів обговорюються нижче:

Ми обговоримо їх по черзі разом із їхніми прикладами.

1. BorderLayout ()

Клас BorderLayout використовується для створення макета рамки, але без проміжків між компонентами. Далі наведено приклад коду за допомогою конструктора BorderLayout (). Наступна програма створює компоненти в JFrame, клас екземпляра - 'border'. Ви можете бачити на скріншоті нижче (після коду), є п'ять регіонів.

Наш код створив п'ять регіонів за допомогою п'яти JButton, а потім вони додаються до макета або JFrame методом add (). Розмір і видимість визначаються окремо для JFrame. Метод setSize () використовується для встановлення розміру кадру, а для встановлення видимості кадру використовується метод встановленої видимості ().

Код

//Java Program illustrating the BorderLayout
import java.awt.*;
import javax.swing.*;
public class border
(
JFrame JF;
border()
(
JF=new JFrame(); //JFrame object
//Lying at top, will be the button named 'North'
JButton b1=new JButton("NORTH");
//Lying at bottom, will be the button named 'South'
JButton b2=new JButton("SOUTH");
//Lying at left, will be the button named 'East'
JButton b3=new JButton("EAST");
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
//In the center, will be the button named 'Center'
JButton b5=new JButton("CENTER");
//Adding our buttons
JF.add(b1, BorderLayout.NORTH);
JF.add(b2, BorderLayout.SOUTH);
JF.add(b3, BorderLayout.EAST);
JF.add(b4, BorderLayout.WEST);
JF.add(b5, BorderLayout.CENTER);
//Function to set size of the Frame
JF.setSize(300, 300);
//Function to set visible status of the frame
JF.setVisible(true);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
new border();
)
)

На скріншоті нижче ви можете побачити, як виглядає код у текстовому редакторі. Я використовував Eclipse як свій текстовий редактор.

Коли код працює, відображається наступний вихід.

Вихід:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) також пишеться як BorderLayout (int, int) використовується для створення макетів кордону з заданими горизонтальними (hgap) та вертикальними (vgap) пробілами або пробілами між наведеними нижче кодами прикладів, що використовують BorderLayout ( int, int) конструктор. Наступна програма створює компоненти в JFrame, клас екземпляра якого 'граничить' аналогічно, як вище, але з вертикальними та горизонтальними проміжками. Ви можете бачити на скріншоті нижче (після коду).

Наш код створив п'ять регіонів з проміжками між ними, використовуючи параметри vgap та hgap в BorderLayout (). Розмір і видимість знову визначаються окремо для JFrame. Метод setSize () використовується для встановлення розміру кадру, а для встановлення видимості кадру використовується метод встановленої видимості ().

Ви можете побачити код для генерування кадру за допомогою BorderLayout з параметрами vgap та hgap, створюючи прогалини або пробіли між регіонами, показані нижче:

Код

//Java Program illustrating the BorderLayout with SPACES between COMPONENTS
import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Color;
public class borderlayout_spaces extends Frame
(
public borderlayout_spaces(String title)
(
super(title);
setLayout(new BorderLayout(20, 30));
//setBackground(Color.RED);
//Lying at top, will be the button named 'North'
JButton b1=new JButton("North");
add(b1, BorderLayout.NORTH);
//Lying at left, will be the button named 'East'
JButton b2=new JButton("EAST");
add(b2, BorderLayout.EAST);
//In the center, will be the button named 'Center'
JButton b3=new JButton("CENTER");
add(b3, BorderLayout.CENTER);
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
add(b4, BorderLayout.WEST);
//Lying at bottom, will be the button named 'South'
JButton b5=new JButton("SOUTH");
add(b5, BorderLayout.SOUTH);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
borderlayout_spaces screen =
new borderlayout_spaces("Border Layout");
screen.setSize(300, 300); //Function to set size of the Frame
screen.setVisible(true); //Function to set visible status of
the frame
)
)

На скріншоті нижче ви можете побачити, як виглядає код у текстовому редакторі.

Рядок коду «setLayout (новий BorderLayout (20, 30))» визначає вихід у вигляді зображення, показаного нижче. Тут 20 - горизонтальний простір, а 30 - вертикальний простір.

Коли код працює, відображається наступний вихід.

Вихід:

Також ви можете спробувати інші властивості, наприклад, встановити колір тла. У наведеному вище коді, якщо ви бачите коментований рядок коду як "setBackground (Color.RED)"; якщо ви спробуєте цей код із цим рядком без коментарів, ваш кадр з’явиться, як показано нижче:

Поряд з компонуванням кордонів є й інші широко використовувані методи, такі як:

  1. toString (): Повертає рядок, що представляє стан розташування кордону.
  2. getVgap (): повертає вертикальний зазор між компонентом.
  3. getHgap (): повертає горизонтальний зазор між компонентом.
  4. setVgap (int vgap): використовується для установки вертикального зазору між компонентом.
  5. setHgap (int hgap): використовується для установки горизонтального зазору між компонентами тощо.

У цій статті розглянуто деякі потужні програми LayoutManagers, які використовуються для розміщення ваших віконних кадрів та графічних інтерфейсів. У статті також висвітлювались схеми написання коду з використанням двох різних конструкторів, відомих як клас java.awt.BorderLayout та клас java.awt.BorderLayout (int, int), який міг бути складним. Але варто спробувати і відпустити його. Якщо ні, ви можете спробувати скористатися менеджером макетів java.awt.GroupLayout. Ви також можете використовувати інструмент побудови разом із вашим менеджером макетів, наприклад, NetBeans IDE, який є чудовим інструментом для створення вашого графічного інтерфейсу.

Рекомендовані статті

Це посібник з BorderLayout на Java. Тут ми обговорюємо вступ до BorderLayout на Java, BorderLayout Constructors з кодами та виходами. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -

  1. Макет на Java
  2. Макет сітки на Java
  3. Змінні на Java
  4. Копіювання конструктора на Java
  5. Макет HTML