Einführung in BoxLayout in Java

BoxLayout ist ein Standard-Layout-Manager, der mit der Java-Plattform geliefert wird. Dies erleichtert die horizontale oder vertikale Anordnung der Komponenten innerhalb des Behälters. In diesem Fall wird die Anordnung der Komponenten so sein, auch wenn die Größe des Rahmens geändert wird. Die vertikale Anordnung bleibt auch dann erhalten, wenn die Größe des Rahmens geändert wird. Mit anderen Worten, die Komponenten im Inneren des Behälters werden nicht gewickelt. Im Gegensatz zu anderen Layout-Managern übergibt der BoxLayout-Konstruktor die erforderlichen Container an den Layout-Manager-Konstruktor. Konstruktoren, Methoden und Beispiele für die BoxLayout-Klasse werden in den folgenden Abschnitten erläutert.

Konstruktoren von BoxLayout in Java

Um die BoxLayout-Klasse in Java zu implementieren, wird der folgende Konstruktor verwendet:

  • public BoxLayout (Container c, int Achse)

Die beiden übergebenen Argumente sind container und axis, was beim Erstellen des Containers mit der angegebenen Achse hilfreich ist. Die zwei gültigen Richtungen sind:

  1. Von links nach rechts - BoxLayout.X_AXIS
  2. Von oben nach unten - BoxLayout.Y_AXIS

Wenn Sie den Konstruktor als BoxLayout.Y_AXIS übergeben, wird ein Layout wie in der folgenden Abbildung (eine Spalte) angezeigt.

Wenn Sie den Konstruktor als BoxLayout.X_AXIS übergeben, wird ein Layout wie in der folgenden Abbildung (eine Zeile) angezeigt.

Methoden der BoxLayout-Klasse in Java

Im Folgenden sind die verschiedenen Methoden der Boxlayout-Klasse in Java aufgeführt:

1. addLayoutComponent (Component comp, Object obj)

Der Zweck dieser Methode ist das Hinzufügen der erwähnten Komponente zum Container unter Verwendung des angegebenen Einschränkungsobjekts.

Modifikator und Typ: Void

2. getLayoutAlignmentX (Container contnr)

Diese Methode gibt die Ausrichtung des Containers von links nach rechts zurück. dh X-Achse. Der Wert kann zwischen 0 und 1 angegeben werden, wobei 0 die Ausrichtung des Ursprungs ist, 1 die am weitesten vom Ursprung entfernte Ausrichtung ist und 0, 5 die zentrierte Ausrichtung ist.

Modifikator und Typ: Float

3. getLayoutAlignmentY (Container contnr)

Diese Methode gibt die Ausrichtung des Containers von oben nach unten zurück. dh Y-Achse. Der Wert kann zwischen 0 und 1 angegeben werden, wobei 0 die Ausrichtung des Ursprungs ist, 1 die am weitesten vom Ursprung entfernte Ausrichtung ist und 0, 5 die zentrierte Ausrichtung ist.

Modifikator und Typ: Float

4. maximumLayoutSize (Container contnr)

Diese Methode gibt den maximalen Wert der Größe zurück, den der Zielcontainer zum Layouten der hinzugefügten Container verwenden kann.

Modifikator und Typ: Float

5. minimumLayoutSize (Container contnr)

Diese Methode gibt den Mindestwert für die Größe zurück, den der Zielcontainer zum Layouten der hinzugefügten Container verwenden kann.

Modifikator und Typ: Float

6. removeLayoutComponent (Komponentenkomponente)

Diese Methode entfernt die erwähnte Komponente aus dem Layout des Containers.

7. layoutContainer (Container contnr)

Diese Methode legt das Layout des Containers fest, wenn dieser vom Abstract Window Toolkit (AWT) aufgerufen wird .

8. invalidateLayout (Containercontnr)

Diese Methode löscht die zwischengespeicherten Informationen des Layouts. Mit anderen Worten, das Layout wird ungültig.

Beispiele für die BoxLayout-Klasse in Java

Lassen Sie uns nun einige Beispiele der BoxLayout-Klasse mit einigen der im obigen Abschnitt erläuterten Methoden sehen.

Beispiel 1: Java-Programm zum Erstellen eines BoxLayouts mit 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
)
)

Beispielausgabe:

Hier wird die erstellte Klasse aus der Frame-Klasse erweitert, die aus java.awt importiert wird. Anschließend wird mit Hilfe des Konstruktors ein Layout mit den genannten Inhalten, Breiten und Höhen erstellt.

Beispiel 2: Java-Programm zum Erstellen eines BoxLayouts mit Y-Achse

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

Beispielausgabe:

Das obige Programm ähnelt Beispiel 1 mit der Ausnahme, dass hierdurch Schaltflächen in der Y-Achse erstellt werden.

Beispiel 3: Java-Programm, das Schaltflächen sowohl auf der X-Achse als auch auf der Y-Achse erstellt

//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();
)
)

Beispielausgabe:

Im Gegensatz zu den Beispielen 1 und 2 erweitert dieses Programm die JFrame-Klasse, um das BoxLayout zu implementieren. Verschiedene andere Methoden wie pack () und createVerticalBox werden verwendet, um dieselben Aufgaben wie in den Beispielen 1 und 2 auszuführen.

Fazit

BoxLayout ist ein Layout-Manager, mit dessen Hilfe die Komponenten eines Containers im angegebenen Format angeordnet werden können. dh X-Achse und Y-Achse. Um dies zu implementieren, wird der Konstruktor der Klasse verwendet, der Methoden enthält, die unterschiedliche Funktionalitäten ausführen.

Empfohlene Artikel

Dies war eine Anleitung zu BoxLayout in Java. Hier diskutieren wir die Konstruktoren, Methoden und Beispiele für das Boxlayout in Java mit Codes. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Layout in Java
  2. Rasterlayout in Java
  3. Heap-Sortierung in Java
  4. Destruktor in Java
  5. Heap-Sortierung in Python
  6. HTML-Layout