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

BoxLayout е стандартен мениджър за оформление, който се предлага заедно с платформата Java. Той помага при подреждането на компонентите по хоризонтален или вертикален начин вътре в контейнера. При това подреждането на компоненти ще бъде като такова, въпреки че променим размера на frame.ievertical подреждането остава вертикално, дори ако кадърът преоразмерява. С други думи, компонентите вътре в контейнера няма да се обвиват. За разлика от другите мениджъри на оформления, конструкторът BoxLayout предава необходимите контейнери на конструктора на мениджъра на оформления. Конструкторите, методите и примерите на клас BoxLayout ще бъдат разгледани в следващите раздели.

Конструктори на BoxLayout в Java

За внедряване на класа BoxLayout в Java ще се използва следният конструктор:

  • публично BoxLayout (контейнер c, int ос)

Предаваните два аргумента са контейнер и ос, което помага при създаването на контейнера със споменатата ос. Двете валидни направления са:

  1. Отляво надясно - BoxLayout.X_AXIS
  2. Отгоре до долу - BoxLayout.Y_AXIS

Ако предаваме конструктора като BoxLayout.Y_AXIS, ще се появи оформление като следната фигура (една колона).

Ако предаваме конструктора като BoxLayout.X_AXIS, ще се появи оформление като следната фигура (един ред).

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

По-долу са описани различните методи за клас бокслейт в java:

1. addLayoutComponent (Component comp, Object obj)

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

Модификатор и тип: невалиден

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

Този метод връща подравняването на контейнера вляво вдясно. т.е. X-ос. Стойността може да бъде дадена между 0 и 1, където 0 е подравняването на начало, 1 е най-отдалеченото подравняване от началото и 0.5 е центрираното подравняване.

Модификатор и тип: поплавък

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

Този метод връща подравняването на контейнера в посока отгоре към долу. т.е. Y-ос. Стойността може да бъде дадена между 0 и 1, където 0 е подравняването на начало, 1 е най-отдалеченото подравняване от началото и 0.5 е центрираното подравняване.

Модификатор и тип: поплавък

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

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

Модификатор и тип: поплавък

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

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

Модификатор и тип: поплавък

6. RemoveLayoutComponent (Component comp)

Този метод премахва споменатия компонент от оформлението на контейнера.

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. Destructor в Java
  5. Сортиране на купи в Python
  6. HTML оформление