Introduktion till BoxLayout i Java

BoxLayout är en vanlig layouthanterare som följer med Java-plattformen. Det hjälper till att ordna komponenterna horisontellt eller vertikalt inuti behållaren. I detta kommer komponentarrangemanget att vara sådant även om vi ändrar storleken på ramen. Det övertiska arrangemanget förblir vertikalt även om ramen ändrar storlek. Med andra ord kommer komponenterna inuti behållaren inte att lindas. Till skillnad från andra layouthanterare skickar BoxLayout-konstruktören de behållare som krävs till layouthanteraren. Konstruktörer, metoder och exempel på BoxLayout Class kommer att diskuteras i följande avsnitt.

Konstruktörer av BoxLayout i Java

För att implementera BoxLayout-klassen i Java kommer följande konstruktör att användas:

  • public BoxLayout (Container c, int Axel)

De två argumenten som skickas är behållare och axel som hjälper till att skapa behållaren med den nämnda axeln. De två giltiga anvisningarna är:

  1. Vänster till höger - BoxLayout.X_AXIS
  2. Upp till botten - BoxLayout.Y_AXIS

Om vi ​​passerar konstruktören som BoxLayout.Y_AXIS kommer en layout som följande figur (en kolumn) att visas.

Om vi ​​passerar konstruktören som BoxLayout.X_AXIS, kommer en layout som följande figur (en rad) att visas.

Metoder för BoxLayout-klassen i Java

Nedan följer de olika metoderna för boxlayout klass i java:

1. addLayoutComponent (Component comp, Object obj)

Syftet med denna metod är att lägga till den nämnda komponenten till behållaren med det angivna begränsningsobjektet.

Modifierare och typ: ogiltig

2. getLayoutAlignmentX (Container contnr)

Denna metod returnerar inriktningen av behållaren i vänster till höger riktning. dvs. X-Axis. Värdet kan anges mellan 0 och 1, där 0 är ursprungets inriktning, 1 är den längsta inriktningen bort från ursprunget och 0, 5 är den centrerade inriktningen.

Modifierare och typ: Float

3. getLayoutAlignmentY (Container contnr)

Denna metod returnerar inriktningen av behållaren i topp- till bottenriktningen. dvs. Y-Axis. Värdet kan anges mellan 0 och 1, där 0 är ursprungets inriktning, 1 är den längsta inriktningen bort från ursprunget och 0, 5 är den centrerade inriktningen.

Modifierare och typ: Float

4. maximumLayoutSize (Container contnr)

Den här metoden returnerar det maximala värdet på storleken som målbehållaren kan använda för att lägga upp behållarna som läggs till i den.

Modifierare och typ: Float

5. minimumLayoutSize (Container contnr)

Denna metod returnerar minimivärdet för den storlek som målbehållaren kan använda för att lägga upp behållarna som läggs till i den.

Modifierare och typ: Float

6. removeLayoutComponent (Component comp)

Den här metoden tar bort den nämnda komponenten från behållarens layout.

7. layoutContainer (Container contnr)

Denna metod lägger behållarens layout när den kallas av Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Den här metoden tar bort den cachade informationen i layouten. Med andra ord ogiltigför det layouten.

Exempel på BoxLayout-klassen i Java

Låt oss nu se några exempel på klassen BoxLayout med några av de metoder som förklaras i avsnittet ovan.

Exempel 1: Java-program för att skapa 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
)
)

Provutgång:

Här kommer den skapade klassen att utvidgas från ramklassen som importeras från java.awt. Sedan skapas en layout med nämnda innehåll, bredd och höjd med hjälp av konstruktör skapad.

Exempel 2: Java-program för att skapa 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
)
)

Provutgång:

Ovanstående program liknar exempel 1 förutom att detta skapar knappar i Y-axeln.

Exempel 3: Java-program som skapar knappar i både X-axeln och Y-axeln

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

Provutgång:

Till skillnad från exempel 1 och 2, utökar detta program JFrame-klassen för att implementera BoxLayout. Flera andra metoder som pack (), createVerticalBox används som utför samma uppgifter som finns i exemplen 1 och 2.

Slutsats

BoxLayout är en layouthanterare som hjälper till med att ordna komponenterna i en behållare i det angivna formatet. dvs. X-axel och Y-axel. För att implementera detta kommer konstruktören i klassen som innehåller metoder som utför olika funktioner att användas.

Rekommenderade artiklar

Detta har varit en guide till BoxLayout i Java. Här diskuterar vi konstruktörer, metoder och exempel på boxlayout i Java med koder. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Layout i Java
  2. Rutnätlayout i Java
  3. Heap Sort In Java
  4. Destructor i Java
  5. Heap Sort i Python
  6. HTML-layout

Kategori: