Inleiding tot BoxLayout in Java

BoxLayout is een standaard lay-outmanager die wordt meegeleverd met het Java-platform. Het helpt bij het rangschikken van de componenten op een horizontale of verticale manier in de container. Hierin zal de rangschikking van componenten als zodanig zijn, hoewel we het formaat van het frame wijzigen. Verrassende rangschikking blijft verticaal, zelfs als het formaat van het frame zich voordoet. Met andere woorden, de componenten in de container wikkelen niet. In tegenstelling tot andere lay-outmanagers geeft BoxLayout constructor de vereiste containers door aan de lay-outmanager. Constructors, methoden en voorbeelden van BoxLayout Class worden in de volgende secties besproken.

Constructeurs van BoxLayout in Java

Om de BoxLayout-klasse in Java te implementeren, wordt de volgende constructor gebruikt:

  • public BoxLayout (Container c, int. as)

De twee doorgegeven argumenten zijn container en as, wat helpt bij het maken van de container met de genoemde as. De twee geldige aanwijzingen zijn:

  1. Van links naar rechts - BoxLayout.X_AXIS
  2. Van boven naar beneden - BoxLayout.Y_AXIS

Als we de constructor als BoxLayout.Y_AXIS doorgeven, verschijnt een lay-out zoals de volgende afbeelding (één kolom).

Als we de constructor als BoxLayout.X_AXIS doorgeven, verschijnt een lay-out zoals de volgende afbeelding (één rij).

Methoden van BoxLayout-klasse in Java

Hieronder staan ​​de verschillende methoden van boxlayout-klasse in Java:

1. addLayoutComponent (Componentcomponent, Object obj)

Het doel van deze methode is om de genoemde component aan de container toe te voegen met behulp van het opgegeven beperkingsobject.

Modifier en type: ongeldig

2. getLayoutAlignmentX (Container contnr)

Deze methode retourneert de uitlijning van de container in de richting van links naar rechts. dat wil zeggen X-as. De waarde kan worden gegeven tussen 0 en 1, waarbij 0 de uitlijning van de oorsprong is, 1 de verste uitlijning verwijderd van de oorsprong en 0, 5 de gecentreerde uitlijning is.

Modifier en Type: Float

3. getLayoutAlignmentY (Container contnr)

Deze methode retourneert de uitlijning van de container in de richting van boven naar beneden. dat wil zeggen Y-as. De waarde kan worden gegeven tussen 0 en 1, waarbij 0 de uitlijning van de oorsprong is, 1 de verste uitlijning verwijderd van de oorsprong en 0, 5 de gecentreerde uitlijning is.

Modifier en Type: Float

4. maximumLayoutSize (Container contnr)

Deze methode retourneert de maximale waarde van de grootte die de doelcontainer kan gebruiken om de containers in te stellen die erin zijn toegevoegd.

Modifier en Type: Float

5. minimumLayoutSize (Container contnr)

Deze methode retourneert de minimale waarde die de doelcontainer kan gebruiken om de containers op te maken die erin zijn toegevoegd.

Modifier en Type: Float

6. removeLayoutComponent (Component comp)

Met deze methode wordt het genoemde onderdeel uit de lay-out van de container verwijderd.

7. layoutContainer (Container contnr)

Deze methode legt de lay-out van de container vast wanneer deze wordt aangeroepen door de Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Met deze methode wordt de gecachte informatie van de lay-out verwijderd. Met andere woorden, het maakt de lay-out ongeldig.

Voorbeelden van BoxLayout-klasse in Java

Laten we nu enkele voorbeelden van de BoxLayout-klasse bekijken met enkele van de methoden die in de bovenstaande sectie zijn uitgelegd.

Voorbeeld 1: Java-programma om een ​​BoxLayout met X-Axis te maken

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

Monster uitgang:

Hier wordt de gemaakte klasse uitgebreid van de klasse Frame die is geïmporteerd uit java.awt. Vervolgens wordt een lay-out met de genoemde inhoud, breedte en hoogte gemaakt met behulp van de constructor.

Voorbeeld 2: Java-programma om een ​​BoxLayout met Y-as te maken

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

Monster uitgang:

Het bovenstaande programma is vergelijkbaar met Voorbeeld 1 behalve dat dit knoppen op de Y-as maakt.

Voorbeeld 3: Java-programma dat knoppen maakt op zowel de X-as als de Y-as

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

Monster uitgang:

In tegenstelling tot voorbeelden 1 en 2, breidt dit programma de JFrame-klasse uit om de BoxLayout te implementeren. Verschillende andere methoden zoals pack (), createVerticalBox worden gebruikt die dezelfde taken uitvoeren die aanwezig zijn in voorbeelden 1 en 2.

Conclusie

BoxLayout is een lay-outmanager die helpt bij het rangschikken van de componenten van een container in het opgegeven formaat. dat wil zeggen X-as en Y-as. Om dit te implementeren, zal de constructor van de klasse worden gebruikt die methoden bevat die verschillende functionaliteiten uitvoeren.

Aanbevolen artikelen

Dit is een gids voor BoxLayout in Java geweest. Hier bespreken we de constructors, methoden en voorbeelden van boxlayout in Java met codes. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Indeling in Java
  2. Rasterlay-out in Java
  3. Heap Sort In Java
  4. Destructor in Java
  5. Heap Sort in Python
  6. HTML-indeling