Вступ до 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 (Component comp, Object obj)

Мета цього методу - додати згаданий компонент до контейнера, використовуючи зазначений об'єкт обмеження.

Модифікатор і тип: недійсні

2. getLayoutAlignmentX (контур контейнера)

Цей метод повертає вирівнювання контейнера вліво в потрібному напрямку. тобто X-ось. Значення може бути задано між 0 і 1, де 0 - це вирівнювання початку, 1 - це найвіддаленіше вирівнювання від початку і 0, 5 - це центрове вирівнювання.

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

3. getLayoutAlignmentY (контур контейнера)

Цей метод повертає вирівнювання контейнера у верхньому та нижньому напрямку. тобто Y-ось. Значення може бути задано між 0 і 1, де 0 - це вирівнювання початку, 1 - це найвіддаленіше вирівнювання від початку і 0, 5 - це центрове вирівнювання.

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

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

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

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

5. мінімальний розмір (розмір контейнера)

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

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

6. RemoveLayoutComponent (компонентний комп)

Цей спосіб видаляє згаданий компонент з компонування контейнера.

7. layoutContainer (контейнер contrr)

Цей метод закладає макет контейнера, коли він викликається абстрактним інструментарієм вікон (AWT) .

8. InvalidateLayout (Containercontnr)

Цей метод відкидає кешовану інформацію макета. Іншими словами, це визнає недійсним макет.

Приклади класу BoxLayout на Java

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

Приклад 1: Програма Java для створення BoxLayout з X-Axis

//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-Axis

//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. Деструктор на Java
  5. Сортування купи в Python
  6. Макет HTML