Introduksjon til BoxLayout i Java

BoxLayout er en standard layout manager som følger med Java-plattform. Det hjelper med å arrangere komponentene på en horisontal eller vertikal måte inne i beholderen. I dette vil arrangementet av komponenter være som sådan, selv om vi endrer størrelse på rammen. Det vertikale arrangementet forblir vertikalt selv om størrelsen på rammen oppstår. Med andre ord, komponentene inne i beholderen vil ikke pakkes inn. I motsetning til andre layoutledere, passerer BoxLayout konstruktør de nødvendige containere til layout manager konstruktøren. Konstruktører, metoder og eksempler på BoxLayout Class vil bli diskutert i de følgende seksjonene.

Konstruktører av BoxLayout i Java

For å implementere BoxLayout-klassen i Java, vil følgende konstruktør brukes:

  • offentlig BoxLayout (Container c, int-aksen)

De to argumentene som er gitt er container og akse som hjelper til med å lage containeren med den nevnte aksen. De to gyldige instruksjonene er:

  1. Venstre til høyre - BoxLayout.X_AXIS
  2. Topp til bunn - BoxLayout.Y_AXIS

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

Hvis vi passerer konstruktøren som BoxLayout.X_AXIS, vil en layout som følgende figur (en rad) vises.

Metoder for BoxLayout-klassen i Java

Nedenfor er de forskjellige metodene for boxlayout-klasse i java:

1. addLayoutComponent (Component comp, Object obj)

Formålet med denne metoden er å legge den nevnte komponenten til beholderen ved å bruke det angitte begrensningsobjektet.

Modifier og type: Void

2. getLayoutAlignmentX (Container contnr)

Denne metoden returnerer justeringen av beholderen i venstre til riktig retning. dvs. X-Axis. Verdien kan gis mellom 0 og 1, der 0 er opprinnelsens innretting, 1 er den lengste innretningen vekk fra opprinnelsen og 0, 5 er den sentrerte innretningen.

Modifier og type: Float

3. getLayoutAlignmentY (Container contnr)

Denne metoden returnerer justeringen av beholderen i topp til bunn retning. dvs. Y-Axis. Verdien kan gis mellom 0 og 1, der 0 er opprinnelsens innretting, 1 er den lengste innretningen vekk fra opprinnelsen og 0, 5 er den sentrerte innretningen.

Modifier og type: Float

4. maximumLayoutSize (Container contnr)

Denne metoden returnerer den maksimale verdien på størrelsen som målcontaineren kan bruke til å legge opp containerne som er lagt til i den.

Modifier og type: Float

5. minimumLayoutSize (Container contnr)

Denne metoden returnerer minimumsverdien på størrelsen målcontaineren kan bruke til å legge opp containerne som er lagt til i den.

Modifier og type: Float

6. removeLayoutComponent (Component comp)

Denne metoden fjerner den nevnte komponenten fra beholderens layout.

7. layoutContainer (Container contnr)

Denne metoden legger oppsettet til beholderen når den kalles av Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Denne metoden forkaster den hurtigbufrede informasjonen til oppsettet. Med andre ord ugyldiggjør oppsettet.

Eksempler på BoxLayout-klasse i Java

La oss nå se noen eksempler på BoxLayout-klassen med noen av metodene som er forklart i avsnittet ovenfor.

Eksempel 1: Java-program for å lage 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
)
)

Eksempelutgang:

Her vil klassen som ble opprettet utvides fra Frame-klassen som importeres fra java.awt. Deretter opprettes en layout med nevnt innhold, bredde og høyde ved hjelp av konstruktør opprettet.

Eksempel 2: Java-program for å lage 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
)
)

Eksempelutgang:

Programmet over ligner på eksempel 1 bortsett fra at dette skaper knapper i Y-aksen.

Eksempel 3: Java-program som oppretter 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();
)
)

Eksempelutgang:

I motsetning til eksempel 1 og 2, utvider dette programmet JFrame-klassen for å implementere BoxLayout. Flere andre metoder som pakke (), createVerticalBox brukes som utfører de samme oppgavene som finnes i eksemplene 1 og 2.

Konklusjon

BoxLayout er en layout manager som hjelper til med å ordne komponentene i en container i det spesifiserte formatet. dvs. X-akse og Y-akse. For å implementere dette vil konstruktøren av klassen som inneholder metoder som utfører forskjellige funksjoner, brukes.

Anbefalte artikler

Dette har vært en guide til BoxLayout i Java. Her diskuterer vi konstruktører, metoder og eksempler på boxlayout i Java med koder. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Oppsett i Java
  2. Rutenettoppsett i Java
  3. Heap Sort In Java
  4. Destructor i Java
  5. Heap Sort in Python
  6. HTML-oppsett