Введение в BoxLayout в Java

BoxLayout - это стандартный менеджер компоновки, который поставляется вместе с платформой Java. Это помогает расположить компоненты горизонтально или вертикально внутри контейнера. При этом расположение компонентов будет таким, даже если мы изменим размер рамки. Вертикальное расположение останется вертикальным, даже если произойдет изменение размера рамки. Другими словами, компоненты внутри контейнера не будут оборачиваться. В отличие от других менеджеров макета, конструктор BoxLayout передает необходимые контейнеры конструктору менеджера макета. Конструкторы, методы и примеры класса BoxLayout будут обсуждаться в следующих разделах.

Конструкторы BoxLayout в Java

Для реализации класса BoxLayout в Java будет использоваться следующий конструктор:

  • public BoxLayout (Контейнер c, ось int)

Два переданных аргумента - это контейнер и ось, которые помогают создать контейнер с упомянутой осью. Два действительных направления:

  1. Слева направо - BoxLayout.X_AXIS
  2. Сверху вниз - BoxLayout.Y_AXIS

Если мы передадим конструктор как BoxLayout.Y_AXIS, появится макет, подобный следующему рисунку (один столбец).

Если мы передадим конструктор как BoxLayout.X_AXIS, появится макет, подобный следующему рисунку (одна строка).

Методы класса BoxLayout в Java

Ниже приведены различные методы класса boxlayout в Java:

1. addLayoutComponent (Компонент комп, объект obj)

Цель этого метода - добавить упомянутый компонент в контейнер с помощью указанного объекта ограничения.

Модификатор и Тип: Пустота

2. getLayoutAlignmentX (Контейнерный контроль)

Этот метод возвращает выравнивание контейнера слева направо. то есть ось X. Значение может быть задано между 0 и 1, где 0 - выравнивание источника, 1 - самое дальнее выравнивание от начала координат, а 0, 5 - центрированное выравнивание.

Модификатор и тип: Float

3. getLayoutAlignmentY (Контейнерный контроль)

Этот метод возвращает выравнивание контейнера в направлении сверху вниз. то есть ось Y. Значение может быть задано между 0 и 1, где 0 - выравнивание источника, 1 - самое дальнее выравнивание от начала координат, а 0, 5 - центрированное выравнивание.

Модификатор и тип: Float

4. maximumLayoutSize (Контейнерный контроль)

Этот метод возвращает максимальное значение размера, которое целевой контейнер может использовать для разметки контейнеров, которые в него добавлены.

Модификатор и тип: Float

5.imumLayoutSize (Контейнер Контрол)

Этот метод возвращает минимальное значение размера, которое целевой контейнер может использовать для компоновки добавляемых в него контейнеров.

Модификатор и тип: Float

6. removeLayoutComponent (Компонент комп)

Этот метод удаляет упомянутый компонент из макета контейнера.

7. layoutContainer (Контейнер Контрол)

Этот метод создает макет контейнера, когда он вызывается из набора инструментов абстрактного окна (AWT) .

8. invalidateLayout (Containercontnr)

Этот метод отбрасывает кэшированную информацию макета. Другими словами, это делает макет недействительным.

Примеры класса BoxLayout в Java

Теперь давайте рассмотрим несколько примеров класса BoxLayout с некоторыми методами, описанными в предыдущем разделе.

Пример 1: Java-программа для создания BoxLayout с осью X

//Java program to demonstrate BoxLayout with X Axis
import java.awt.*;
import javax.swing.*;
//A subclass BoxLayoutProgram that extends Frame Class
public class BoxLayoutProgram extends Frame (
Button buttons(); //Button reference variable
//Constructor of BoxLayoutProgram
public BoxLayoutProgram ()
(
buttons = new Button (5);
for (int i = 0;i<5;i++)
(
buttons(i) = new Button ("Box" + (i + 1));
add (buttons(i)); //adds button
)
setLayout (new BoxLayout (this, BoxLayout.X_AXIS)); //sets the layout by mentioning the axis
setSize(400, 400); //sets the width and height of the frame
setVisible(true); //sets the GUI visible to user
)
public static void main(String args())(
BoxLayoutProgram b=new BoxLayoutProgram(); //object of the class
)
)

Пример вывода:

Здесь созданный класс будет расширен из класса Frame, импортированного из java.awt. Затем с помощью созданного конструктора будет создан макет с указанным содержанием, шириной и высотой.

Пример 2: Java-программа для создания BoxLayout с осью Y

//Java program to demonstrate BoxLayout with Y Axis
import java.awt.*;
import javax.swing.*;
//A subclass BoxLayoutProgram that extends Frame Class
public class BoxLayoutProgram extends Frame (
Button buttons(); //Button reference variable
//Constructor of BoxLayoutProgram
public BoxLayoutProgram ()
(
buttons = new Button (5);
for (int i = 0;i<5;i++)
(
buttons(i) = new Button ("Box" + (i + 1));
add (buttons(i)); //adds button
)
setLayout (new BoxLayout (this, BoxLayout.Y_AXIS)); //sets the layout by mentioning the axis
setSize(400, 400); //sets the width and height of the frame
setVisible(true); //sets the GUI visible to user
)
public static void main(String args())(
BoxLayoutProgram b=new BoxLayoutProgram(); //object of the class
)
)

Пример вывода:

Вышеприведенная программа аналогична Примеру 1 за исключением того, что она создает кнопки по оси Y.

Пример 3: Java-программа, которая создает кнопки как по оси X, так и по оси Y

//Java program that creates buttons in both X axis and Y axis
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//Class that extends JFrame Class
public class BoxLayoutXY extends JFrame
(
//Constructor
public BoxLayoutXY()
(
//helps in adding the object to the container
Container cp = getContentPane();
//sets the layout of container as FlowLayout where the components are placed in a line
cp.setLayout(new FlowLayout());
//create an object of the box class
Box hbox = Box. createHorizontalBox ();
//create an object of the box class
Box vbox = Box. createVerticalBox ();
//add horizontal and vertical components to the container
hbox.add(new JButton("Horizontal Button 1"));
hbox.add(new JButton("Horizontal Button 2"));
hbox.add(new JButton("Horizontal Button 3"));
vbox.add(new JButton("Vertical Button 1"));
vbox.add(new JButton("Vertical Button 2"));
vbox.add(new JButton("Vertical Button 3"));
cp.add(hbox);
cp.add(vbox);
//method similar to setsize that places the content in preferred size
pack();
//GUI visible to user
setVisible(true);
)
public static void main(String args())
(
//calls the constructor of the class
new BoxLayoutXY();
)
)

Пример вывода:

В отличие от примеров 1 и 2, эта программа расширяет класс JFrame для реализации BoxLayout. Используется несколько других методов, таких как pack (), createVerticalBox, которые выполняют те же задачи, что и в примерах 1 и 2.

Вывод

BoxLayout - менеджер компоновки, который помогает расположить компоненты контейнера в указанном формате. то есть ось X и ось Y. Для реализации этого будет использован конструктор класса, который содержит методы, выполняющие различные функции.

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

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

  1. Макет в Java
  2. Расположение сетки в Java
  3. Сортировка кучи в Java
  4. Деструктор на Яве
  5. Сортировка кучи в Python
  6. HTML-макет