Introducere în BoxLayout în Java

BoxLayout este un manager de layout standard care vine împreună cu platforma Java. Ajută la aranjarea componentelor într-o manieră orizontală sau verticală în interiorul recipientului. În acest sens, aranjarea componentelor va fi ca atare, chiar dacă redimensionăm cadrul. Aranjamentul vertical rămâne vertical chiar dacă are loc redimensionarea cadrului. Cu alte cuvinte, componentele din interiorul containerului nu se vor înfășura. Spre deosebire de alți manageri de layout, constructorul BoxLayout transmite containerele necesare constructorului de layout layout. Constructorii, metodele și exemple din clasa BoxLayout vor fi discutate în secțiunile următoare.

Constructorii BoxLayout în Java

Pentru a implementa clasa BoxLayout în Java, va fi utilizat următorul constructor:

  • public BoxLayout (Container c, axa int)

Cele două argumente transmise sunt containerul și axa care ajută la crearea containerului cu axa menționată. Cele două direcții valide sunt:

  1. De la stânga la dreapta - BoxLayout.X_AXIS
  2. De sus în jos - BoxLayout.Y_AXIS

Dacă trecem constructorul ca BoxLayout.Y_AXIS, va apărea un aspect precum următoarea figură (o coloană).

Dacă trecem constructorul ca BoxLayout.X_AXIS, va apărea un aspect precum următoarea figură (un rând).

Metode de clasă BoxLayout în Java

Mai jos sunt diferite metode de clasă boxlayout în Java:

1. addLayoutComponent (Component comp., Obiect obiect)

Scopul acestei metode este adăugarea componentei menționate în container folosind obiectul de constrângere specificat.

Modificator și tip: gol

2. getLayoutAlignmentX (Container contnr)

Această metodă returnează alinierea containerului în stânga în direcția bună. adică axa X Valoarea poate fi dată între 0 și 1, unde 0 este alinierea originii, 1 este cea mai îndepărtată aliniere departe de origine și 0, 5 este alinierea centrată.

Modificator și tip: plutitor

3. getLayoutAlignmentY (Container contnr)

Această metodă returnează alinierea containerului în direcția de sus la jos. adică Axa Y. Valoarea poate fi dată între 0 și 1, unde 0 este alinierea originii, 1 este cea mai îndepărtată aliniere departe de origine și 0, 5 este alinierea centrată.

Modificator și tip: plutitor

4. maximumLayoutSize (Container contnr)

Această metodă returnează valoarea maximă a dimensiunii pe care o poate folosi containerul țintă pentru a aranja containerele care sunt adăugate în el.

Modificator și tip: plutitor

5. minimumLayoutSize (Container contnr)

Această metodă returnează valoarea minimă a dimensiunii pe care o poate folosi containerul țintă pentru a aranja containerele care sunt adăugate în el.

Modificator și tip: plutitor

6. removeLayoutComponent (Component comp)

Această metodă elimină componenta menționată din aspectul containerului.

7. layoutContainer (Container contnr)

Această metodă stabilește aspectul containerului atunci când este apelat de Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Această metodă aruncă informațiile din cache ale machetei. Cu alte cuvinte, invalidează aspectul.

Exemple de clasă BoxLayout în Java

Acum, să vedem câteva exemple din clasa BoxLayout cu unele dintre metodele explicate în secțiunea de mai sus.

Exemplu 1: Program Java pentru a crea un BoxLayout cu 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
)
)

Ieșire de eșantion:

Aici, clasa creată va fi extinsă din clasa Frame care este importată din java.awt. Apoi va fi creat un aspect cu conținutul menționat, lățimea și înălțimea menționate cu ajutorul constructorului creat.

Exemplu 2: Program Java pentru a crea un BoxLayout cu Axa 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
)
)

Ieșire de eșantion:

Programul de mai sus este similar cu exemplul 1, cu excepția faptului că acesta creează butoane în axa Y.

Exemplu 3: Program Java care creează butoane atât în ​​axa X cât și în axa 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();
)
)

Ieșire de eșantion:

Spre deosebire de exemplele 1 și 2, acest program extinde clasa JFrame pentru a implementa BoxLayout. Sunt utilizate câteva alte metode, cum ar fi pack (), createVerticalBox care îndeplinesc aceleași sarcini care sunt prezente în Exemplele 1 și 2.

Concluzie

BoxLayout este un manager de aspect care ajută la aranjarea componentelor unui container în formatul specificat. adică axa X și axa Y. Pentru a implementa acest lucru, va fi utilizat constructorul clasei care conține metode care îndeplinesc diferite funcționalități.

Articole recomandate

Acesta a fost un ghid pentru BoxLayout în Java. Aici discutăm Constructori, metode și exemple de boxlayout în Java cu coduri. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Aspect în Java
  2. Aspect grilă în Java
  3. Sortare la grămadă în Java
  4. Distrugător în Java
  5. Sort de grămadă în Python
  6. Aspect HTML