Introducción a BoxLayout en Java

BoxLayout es un administrador de diseño estándar que viene junto con la plataforma Java. Ayuda a organizar los componentes de forma horizontal o vertical dentro del contenedor. En esto, la disposición de los componentes será como tal, aunque cambiemos el tamaño del marco. La disposición vertical se mantendrá vertical incluso si se produce el cambio de tamaño del marco. En otras palabras, los componentes dentro del contenedor no se envolverán. A diferencia de otros administradores de diseño, el constructor BoxLayout pasa los contenedores necesarios al constructor del administrador de diseño. Los constructores, métodos y ejemplos de la clase BoxLayout se analizarán en las siguientes secciones.

Constructores de BoxLayout en Java

Para implementar la clase BoxLayout en Java, se utilizará el siguiente constructor:

  • public BoxLayout (Contenedor c, eje int)

Los dos argumentos pasados ​​son contenedor y eje, lo que ayuda a crear el contenedor con el eje mencionado. Las dos direcciones válidas son:

  1. De izquierda a derecha - BoxLayout.X_AXIS
  2. De arriba a abajo - BoxLayout.Y_AXIS

Si estamos pasando el constructor como BoxLayout.Y_AXIS, aparecerá un diseño como la siguiente figura (una columna).

Si estamos pasando el constructor como BoxLayout.X_AXIS, aparecerá un diseño como la siguiente figura (una fila).

Métodos de la clase BoxLayout en Java

A continuación se muestran los diversos métodos de la clase boxlayout en java:

1. addLayoutComponent (Componente comp, Objeto obj)

El propósito de este método es agregar el componente mencionado al contenedor utilizando el objeto de restricción especificado.

Modificador y tipo: vacío

2. getLayoutAlignmentX (Contenedor cont.)

Este método devuelve la alineación del contenedor en la dirección izquierda a la derecha. es decir, eje X. El valor se puede dar entre 0 y 1, donde 0 es la alineación del origen, 1 es la alineación más alejada del origen y 0.5 es la alineación centrada.

Modificador y Tipo: Flotador

3. getLayoutAlignmentY (Contenedor cont.)

Este método devuelve la alineación del contenedor en la dirección de arriba hacia abajo. es decir, eje Y. El valor se puede dar entre 0 y 1, donde 0 es la alineación del origen, 1 es la alineación más alejada del origen y 0.5 es la alineación centrada.

Modificador y Tipo: Flotador

4. maximumLayoutSize (Contenedor contnr)

Este método devuelve el valor máximo de tamaño que el contenedor de destino puede usar para diseñar los contenedores que se agregan en él.

Modificador y Tipo: Flotador

5. minimumLayoutSize (Contenedor cont.)

Este método devuelve el valor mínimo de tamaño que el contenedor de destino puede usar para diseñar los contenedores que se agregan en él.

Modificador y Tipo: Flotador

6. removeLayoutComponent (Componente comp)

Este método elimina el componente mencionado del diseño del contenedor.

7. layoutContainer (Contenedor cont.)

Este método establece el diseño del contenedor cuando lo llama el Abstract Window Toolkit (AWT) .

8. invalidateLayout (Containercontnr)

Este método descarta la información en caché del diseño. En otras palabras, invalida el diseño.

Ejemplos de la clase BoxLayout en Java

Ahora, veamos algunos ejemplos de la clase BoxLayout con algunos de los métodos explicados en la sección anterior.

Ejemplo 1: programa Java para crear un BoxLayout con 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
)
)

Salida de muestra:

Aquí, la clase creada se extenderá desde la clase Frame que se importa desde java.awt. Luego se creará un diseño con el contenido mencionado, ancho y alto con la ayuda del constructor creado.

Ejemplo 2: programa Java para crear un BoxLayout con 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
)
)

Salida de muestra:

El programa anterior es similar al Ejemplo 1, excepto que esto está creando botones en el eje Y.

Ejemplo 3: programa Java que crea botones tanto en el eje X como en el eje Y

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

Salida de muestra:

A diferencia de los ejemplos 1 y 2, este programa extiende la clase JFrame para implementar BoxLayout. Se utilizan otros métodos, como pack (), createVerticalBox, que realizan las mismas tareas que están presentes en los ejemplos 1 y 2.

Conclusión

BoxLayout es un administrador de diseño que ayuda a organizar los componentes de un contenedor en el formato especificado. es decir, eje X y eje Y. Para implementar esto, se utilizará el constructor de la clase que contiene métodos que realizan diferentes funcionalidades.

Artículos recomendados

Esta ha sido una guía para BoxLayout en Java. Aquí discutimos los Constructores, métodos y ejemplos de boxlayout en Java con códigos. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Diseño en Java
  2. Diseño de cuadrícula en Java
  3. Heap Ordenar en Java
  4. Destructor en Java
  5. Heap Sort en Python
  6. Diseño HTML