Introduktion til BoxLayout i Java

BoxLayout er en standardlayoutmanager, der følger med Java-platformen. Det hjælper med at arrangere komponenterne på en vandret eller lodret måde inde i beholderen. I dette vil arrangementet af komponenter være som sådan, selvom vi ændrer størrelsen på rammen. Detvertiske arrangement forbliver lodret, selvom rammens størrelse ændres. Med andre ord, komponenterne inde i beholderen vil ikke indpakkes. I modsætning til andre layoutledere overfører BoxLayout-konstruktøren de nødvendige containere til layout manager-konstruktøren. Konstruktører, metoder og eksempler på BoxLayout Class vil blive diskuteret i de følgende afsnit.

Konstruktører af BoxLayout i Java

Følgende konstruktør bruges til at implementere BoxLayout-klassen i Java:

  • offentlig BoxLayout (Container c, int-akse)

De to argumenter, der er sendt, er container og akse, som hjælper med at skabe containeren med den nævnte akse. De to gyldige retninger er:

  1. Venstre til højre - BoxLayout.X_AXIS
  2. Fra top til bund - BoxLayout.Y_AXIS

Hvis vi passerer konstruktøren som BoxLayout.Y_AXIS, vises et layout som følgende figur (en kolonne).

Hvis vi passerer konstruktøren som BoxLayout.X_AXIS, vises et layout som følgende figur (en række).

Metoder til klasse BoxLayout i Java

Nedenfor er de forskellige metoder til boxlayout-klasse i java:

1. addLayoutComponent (Component comp, Object obj)

Formålet med denne metode er at tilføje den nævnte komponent til beholderen ved hjælp af det specificerede begrænsningsobjekt.

Modifikator og type: ugyldig

2. getLayoutAlignmentX (Container contnr)

Denne metode returnerer justeringen af ​​containeren i venstre til højre retning. dvs. X-Axis. Værdien kan gives mellem 0 og 1, hvor 0 er oprindelsens justering, 1 er den længste linie væk fra originalen, og 0, 5 er den centrerede linie.

Modifikator og type: Float

3. getLayoutAlignmentY (Container contnr)

Denne metode returnerer justeringen af ​​beholderen i top til bundretning. dvs. Y-Axis. Værdien kan gives mellem 0 og 1, hvor 0 er oprindelsens justering, 1 er den længste linie væk fra originalen, og 0, 5 er den centrerede linie.

Modifikator og type: Float

4. maximumLayoutSize (Container contnr)

Denne metode returnerer den maksimale værdi på den størrelse, som målbeholderen kan bruge til at layoute de containere, der er tilføjet i den.

Modifikator og type: Float

5. minimumLayoutSize (Container contnr)

Denne metode returnerer minimumsværdien for størrelse, som målcontaineren kan bruge til at layoute containerne, der er tilføjet i den.

Modifikator og type: Float

6. removeLayoutComponent (Component comp)

Denne metode fjerner den nævnte komponent fra containerens layout.

7. layoutContainer (Container contnr)

Denne metode lægger beholderens layout, når den kaldes af Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Denne metode kasserer cache-informationen til layoutet. Med andre ord annullerer det layoutet.

Eksempler på klasse BoxLayout i Java

Lad os nu se nogle eksempler på BoxLayout-klassen med nogle af de metoder, der er forklaret i ovenstående afsnit.

Eksempel 1: Java-program til oprettelse af en BoxLayout med 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
)
)

Prøveudgang:

Her udvides den oprettede klasse fra Frame-klassen, der importeres fra java.awt. Derefter oprettes et layout med det nævnte indhold, bredde og højde ved hjælp af konstrueret konstruktør.

Eksempel 2: Java-program til oprettelse af en BoxLayout med 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
)
)

Prøveudgang:

Ovenstående program ligner eksempel 1 bortset fra at dette skaber knapper i Y-aksen.

Eksempel 3: Java-program, der opretter knapper i både X-aksen og Y-aksen

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

Prøveudgang:

I modsætning til eksempel 1 og 2 udvider dette program JFrame-klassen for at implementere BoxLayout. Der anvendes flere andre metoder, såsom pack (), createVerticalBox, der udfører de samme opgaver, der findes i eksemplerne 1 og 2.

Konklusion

BoxLayout er en layout manager, der hjælper med at arrangere komponenterne i en container i det specificerede format. dvs. X-akse og Y-akse. For at implementere dette vil konstruktøren af ​​klassen, der indeholder metoder, der udfører forskellige funktionaliteter, blive brugt.

Anbefalede artikler

Dette har været en guide til BoxLayout i Java. Her diskuterer vi konstruktører, metoder og eksempler på boxlayout i Java med koder. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Layout i Java
  2. Grid Layout i Java
  3. Heap sortering i Java
  4. Destructor i Java
  5. Heap Sort i Python
  6. HTML-layout

Kategori: