Wprowadzenie do BoxLayout w Javie

BoxLayout to standardowy menedżer układu dostarczany wraz z platformą Java. Pomaga w rozmieszczeniu elementów w poziomie lub w pionie wewnątrz pojemnika. W ten sposób rozmieszczenie komponentów będzie takie, nawet jeśli zmieniamy rozmiar ramy. Układ pionowy pozostaje pionowy, nawet jeśli nastąpi zmiana rozmiaru ramy. Innymi słowy, elementy wewnątrz pojemnika nie będą się owijać. W przeciwieństwie do innych menedżerów układu, konstruktor BoxLayout przekazuje wymagane kontenery do konstruktora zarządzania układem. Konstruktory, metody i przykłady klasy BoxLayout zostaną omówione w poniższych sekcjach.

Konstruktory BoxLayout w Javie

Aby zaimplementować klasę BoxLayout w Javie, użyty zostanie następujący konstruktor:

  • public BoxLayout (kontener c, oś wewnętrzna)

Dwa przekazane argumenty to kontener i oś, które pomagają w tworzeniu kontenera z wymienioną osią. Dwa ważne kierunki to:

  1. Od lewej do prawej - BoxLayout.X_AXIS
  2. Od góry do dołu - BoxLayout.Y_AXIS

Jeśli przekazujemy konstruktor jako BoxLayout.Y_AXIS, pojawi się układ podobny do poniższego rysunku (jedna kolumna).

Jeśli przekazujemy konstruktor jako BoxLayout.X_AXIS, pojawi się układ podobny do poniższego rysunku (jeden wiersz).

Metody klasy BoxLayout w Javie

Poniżej znajdują się różne metody klasy boxlayout w Javie:

1. addLayoutComponent (Component comp, Object obj)

Celem tej metody jest dodanie wspomnianego komponentu do kontenera przy użyciu określonego obiektu ograniczenia.

Modyfikator i typ: Void

2. getLayoutAlignmentX (Kontener kontenera)

Ta metoda zwraca wyrównanie kontenera w lewo w prawo. tj. oś X. Wartość można podać między 0 a 1, gdzie 0 to wyrównanie początku, 1 to najdalsze wyrównanie od początku, a 0, 5 to wyśrodkowanie.

Modyfikator i typ: Float

3. getLayoutAlignmentY (contnr kontenera)

Ta metoda zwraca wyrównanie kontenera w kierunku od góry do dołu. tj. oś Y. Wartość można podać między 0 a 1, gdzie 0 to wyrównanie początku, 1 to najdalsze wyrównanie od początku, a 0, 5 to wyśrodkowanie.

Modyfikator i typ: Float

4. maximumLayoutSize (Contnr kontenera)

Ta metoda zwraca maksymalną wartość rozmiaru, którego może użyć kontener docelowy do rozmieszczenia kontenerów, które są w nim dodane.

Modyfikator i typ: Float

5. minimumLayoutSize (Contnr kontenera)

Ta metoda zwraca minimalną wartość rozmiaru, którego może użyć kontener docelowy do rozmieszczenia kontenerów, które są w nim dodane.

Modyfikator i typ: Float

6. removeLayoutComponent (Component comp)

Ta metoda usuwa wspomniany komponent z układu kontenera.

7. layoutContainer (Kontener kontenera)

Ta metoda określa układ kontenera, gdy jest on wywoływany przez zestaw narzędzi Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Ta metoda odrzuca buforowane informacje o układzie. Innymi słowy, unieważnia układ.

Przykłady klasy BoxLayout w Javie

Zobaczmy teraz kilka przykładów klasy BoxLayout z niektórymi metodami opisanymi w powyższej sekcji.

Przykład 1: program Java do utworzenia BoxLayout z osią 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
)
)

Przykładowe dane wyjściowe:

Tutaj utworzona klasa zostanie rozszerzona z klasy Frame importowanej z java.awt. Następnie za pomocą konstruktora utworzony zostanie układ o wspomnianej zawartości, szerokości i wysokości.

Przykład 2: program Java do utworzenia BoxLayout z osią 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
)
)

Przykładowe dane wyjściowe:

Powyższy program jest podobny do przykładu 1 z tym wyjątkiem, że tworzy on przyciski w osi Y.

Przykład 3: program Java, który tworzy przyciski zarówno na osi X, jak i na osi 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();
)
)

Przykładowe dane wyjściowe:

W przeciwieństwie do przykładów 1 i 2, program ten rozszerza klasę JFrame w celu zaimplementowania BoxLayout. Zastosowano kilka innych metod, takich jak pack (), createVerticalBox, które wykonują te same zadania, które są przedstawione w przykładach 1 i 2.

Wniosek

BoxLayout to menedżer układu, który pomaga w rozmieszczeniu składników kontenera w określonym formacie. tj. oś X i oś Y. Aby to zaimplementować, zostanie użyty konstruktor klasy, który zawiera metody wykonujące różne funkcje.

Polecane artykuły

To był przewodnik po BoxLayout w Javie. Tutaj omawiamy konstruktory, metody i przykłady boxlayout w Javie z kodami. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Układ w Javie
  2. Układ siatki w Javie
  3. Sortuj sterty w Javie
  4. Destructor w Javie
  5. Sortuj sterty w Pythonie
  6. Układ HTML