Введение в BorderLayout в Java

BorderLayout в Java или диспетчере компоновки - это объект, который имеет каждый контейнерный объект, который контролирует его компоновку, то есть размер и положение компонентов. На непрофессиональном языке эти менеджеры по расположению используются для организации компонентов определенным или определенным образом. LayoutManager можно сказать как интерфейс, который реализован всеми его классами. Есть несколько классов AWT и SWING, которые были предоставлены в качестве менеджеров макетов для общего пользования. Некоторые из них перечислены ниже:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. GroupLayout
  6. GridLayout и т. Д.

Прежде чем перейти к BorderLayout, давайте обсудим некоторые моменты.

Почти все в компьютерном мире иерархически организовано либо для лучшего хранения, либо для создания удобной системы поиска. Менеджеры макетов, используемые для создания графических интерфейсов с использованием доступных классов AWT, являются частью одной такой иерархической системы. Он называется «Иерархия содержания». Хотя в этой статье основное внимание будет уделено одному из доступных LayoutManager, известному как BorderLayout, перед этим мы должны знать, где BorderLayout находится в этой Иерархии. Наша древовидная структура, которая проходит через фреймы, компоненты GUI, контейнеры и т. Д. Начинается с:

  1. Во-первых, контейнер верхнего уровня или класс контейнера верхнего уровня, такой как JFrame, JApplet или JDialog, который действует как «ROOT» этой иерархии содержимого.
  2. Во-вторых, чтобы компонент отображался на экране как компонент с графическим интерфейсом, он должен быть включен в иерархию содержимого.
  3. В-третьих, один компонент должен быть или будет содержаться только в одном контейнере.
  4. В-четвертых, каждый контейнер верхнего уровня будет иметь панель контента, в общем, каждый видимый (прямо или косвенно) графический интерфейс пользователя содержится в этой панели контента.

Что такое BorderLayout?

Класс BorderLayout является одним из классов диспетчера макетов, который считается макетом по умолчанию для оконных объектов. Объекты окна, такие как JFrame, JWindow, JDialog, используют этот класс для отображения в качестве компонентов GUI. BorderLayout используется для компоновки контейнера, т.е. размещения и изменения размера его компонентов. Компоновка границы размещает эти компоненты в пяти разных регионах. Из пяти, четыре региона или области называются севером, югом, востоком и западом, а средний регион называется центром. Каждый регион может содержать только один компонент. Макет границы предоставляет набор констант, используемых для позиционирования компонентов. Обсуждаемые здесь регионы обозначены соответствующей константой с именами СЕВЕР, ЮГ, ВОСТОК, ЗАПАД и константой для среднего региона как ЦЕНТР. Мы используем эти константы при добавлении компонента, используя макет границы. Константы для каждого региона, используемого в нашем коде, перечислены ниже:

  • public static final int NORTH: Северная константа макета в верхней части контейнера.
  • public static final int SOUTH: Южная константа макета внизу контейнера.
  • public static final int CENTER: Константа макета Center в середине контейнера.
  • public static final int WEST: константа компоновки West справа от контейнера.
  • public static final int EAST: Константа макета "Восток" слева от контейнера.

В дополнение к перечисленным выше константам, BorderLayout предоставляет также другие константы позиционирования, такие как PAGE_START, PAGE_END и т. Д.

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

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

Мы обсудим их один за другим вместе с их примерами.

1. BorderLayout ()

Класс BorderLayout используется для создания макета границы, но без промежутков между компонентами. Ниже приведен пример кода с использованием конструктора BorderLayout (). Следующая программа создает компоненты в JFrame с классом экземпляра 'border'. Вы можете увидеть на скриншоте ниже (после кода), есть пять регионов.

Наш код создал пять областей, используя пять JButton, а затем они добавляются в макет или JFrame с помощью метода add (). Размер и видимость определяются отдельно для JFrame. Метод setSize () используется для установки размера кадра, а метод set visibility () используется для установки видимости кадра.

Код

//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 () используется для установки размера кадра, а метод set visibility () используется для установки видимости кадра.

Вы можете увидеть код для генерации фрейма с использованием 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 (new BorderLayout (20, 30));» устанавливает вывод в виде изображения, показанного ниже. Здесь 20 - горизонтальное пространство, а 30 - вертикальное пространство.

Когда код запускается, отображается следующий вывод.

Выход:

Также вы можете попробовать другие свойства, например, установить цвет фона. В приведенном выше коде, если вы видите закомментированную строку кода как «setBackground (Color.RED);», если вы попробуете этот код с этой строкой без комментариев, ваш кадр будет выглядеть следующим образом:

Есть и другие часто используемые методы наряду с макетом границы, такие как:

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

В этой статье обсуждались некоторые из мощных LayoutManager, которые используются для размещения ваших оконных фреймов и графического интерфейса. В статье также рассказывалось о написании макетов кода с использованием двух разных конструкторов, известных как класс java.awt.BorderLayout и класс java.awt.BorderLayout (int, int), что могло быть сложно. Но вы должны попробовать и дать ему идти. Если нет, вы можете попробовать использовать менеджер макета java.awt.GroupLayout. Вы также можете использовать инструмент построения вместе со своим менеджером макетов, например, IDE NetBeans, который является отличным инструментом для создания вашего графического интерфейса.

Рекомендуемые статьи

Это руководство по BorderLayout на Java. Здесь мы обсуждаем введение в BorderLayout в Java, конструкторы BorderLayout с кодами и выводами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Макет в Java
  2. Расположение сетки в Java
  3. Переменные в Java
  4. Копировать конструктор в Java
  5. HTML-макет