La clase BoxLayout se utiliza para organizar los componentes verticalmente (a lo largo del eje Y) u horizontalmente (a lo largo del eje X). En la clase BoxLayout, los componentes se colocan en una sola fila o en una sola columna. Los componentes no se ajustarán, por lo que, por ejemplo, una disposición horizontal de componentes permanecerá dispuesta horizontalmente cuando se cambie el tamaño del marco.
Constructor de la clase:
- BoxLayout(Container c, int axis): crea una clase BoxLayout que organiza los componentes con el eje X o el eje Y.
Métodos comúnmente utilizados:
- addLayoutComponent(Component cmp, Object obj): No es utilizado por esta clase.
- getLayoutAlignmentX(Container con): Devuelve la alineación a lo largo del eje X del contenedor.
- getLayoutAlignmentY(Container con): Devuelve la alineación a lo largo del eje Y del contenedor.
- maximumLayoutSize(Container con): devuelve las dimensiones máximas que el contenedor de destino puede usar para diseñar los componentes que contiene.
- minimalLayoutSize(Container con): Devuelve las dimensiones mínimas necesarias para diseñar los componentes contenidos en el contenedor de destino especificado.
- removeLayoutComponent(Componente cmp): No es utilizado por esta clase.
- layoutContainer(Container tar): Llamado por el AWT cuando el contenedor especificado necesita ser diseñado.
Los siguientes programas ilustran la clase BoxLayout:
- Programa 1: En el siguiente programa, estamos organizando varios componentes JLabel en un JFrame . Creamos 1 componente JPanel llamado «Panel» y 5 componentes JButton llamados » jbtn1 « , » jbtn2 «, » jbtn3 «, » jbtn4 «, » jbtn5 «. Además, estamos creando un componente BoxLayout llamado «boxlayout» y una clase JFrame y luego los agregamos al JFrame usando el método add() . Establecemos la visibilidad del marco usando el método setvisible() . El diseño se establece usandométodo setLayout() .
// Java program to demonstrate BoxLayout
// class along X-Axis
import
javax.swing.JFrame;
import
javax.swing.JButton;
import
javax.swing.BoxLayout;
import
javax.swing.Box;
import
javax.swing.JPanel;
import
javax.swing.border.EmptyBorder;
import
java.awt.Insets;
import
java.awt.Dimension;
// taking a class Demo
public
class
Demo {
// Main Method
public
static
void
main(String[] args)
{
// Function to set up the window frame.
JFrame.setDefaultLookAndFeelDecorated(
true
);
// Creating Object of "JFrame" class
JFrame frame =
new
JFrame(
"BoxLayout Example X_AXIS"
);
// Declaration of objects of JButton class.
JButton jbtn1, jbtn2, jbtn3, jbtn4, jbtn5;
// Function to set the default
// close operation of JFrame the.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Set the panel to add buttons
JPanel panel =
new
JPanel();
// Creating Object of "boxlayout" in
// X_Axis from left to right
BoxLayout boxlayout =
new
BoxLayout(panel, BoxLayout.X_AXIS);
// to set the box layout
panel.setLayout(boxlayout);
// Set border for the panel
panel.setBorder(
new
EmptyBorder(
new
Insets(
100
,
150
,
100
,
150
)));
// Initialization of object "jb1" of JButton class.
jbtn1 =
new
JButton(
"Button 1"
);
// Initialization of object "jb2" of JButton class.
jbtn2 =
new
JButton(
"Button 2"
);
// Initialization of object "jb3" of JButton class.
jbtn3 =
new
JButton(
"Button 3"
);
// Initialization of object "jb4" of JButton class.
jbtn4 =
new
JButton(
"Button 4"
);
// Initialization of object "jb5" of JButton class.
jbtn5 =
new
JButton(
"Button 5"
);
// Adding JButton "jb1" on JFrame
panel.add(jbtn1);
// Adding JButton "jb2" on JFrame
panel.add(jbtn2);
// Adding JButton "jb3" on JFrame
panel.add(jbtn3);
// Adding JButton "jb4" on JFrame
panel.add(jbtn4);
// Adding JButton "jb5" on JFrame
panel.add(jbtn5);
// Function to set the panel of JFrame.
frame.add(panel);
// Function to use the pack of JFrame.
frame.pack();
// Function to set visible status of JFrame.
frame.setVisible(
true
);
}
}
Producción:
- Programa 2: El siguiente programa organiza los componentes a lo largo de Y-AXIS en un JFrame. Creamos 1 componente JPanel llamado «Panel» , 5 componentes JButton llamados » jbtn1 « , » jbtn2 «, » jbtn3 «, » jbtn4 «, » jbtn5 «, un componente BoxLayout llamado «boxlayout» y una clase JFrame y luego los agregamos al JFrame usando el método add() . Estableceremos la visibilidad del marco usando el método setvisible() . El diseño se establece mediante el método setLayout() .
// Java program to demonstrate BoxLayout
// class along Y-Axis
import
javax.swing.JFrame;
import
javax.swing.JButton;
import
javax.swing.BoxLayout;
import
javax.swing.Box;
import
javax.swing.JPanel;
import
javax.swing.border.EmptyBorder;
import
java.awt.Insets;
import
java.awt.Dimension;
// construct a class Demo_1
public
class
Demo_1 {
// Main Method
public
static
void
main(String[] args)
{
// Function to set up the window frame.
JFrame.setDefaultLookAndFeelDecorated(
true
);
// Creating Object of "JFrame" class
JFrame frame =
new
JFrame(
"BoxLayout Example Y_AXIS"
);
// Declaration of objects of JButton class.
JButton jbtn1, jbtn2, jbtn3, jbtn4, jbtn5;
// Function to set the default close operation of JFrame the.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Set the panel to add buttons
JPanel panel =
new
JPanel();
// Creating Object of "boxlayout" in Y_Axis from top to down
BoxLayout boxlayout =
new
BoxLayout(panel, BoxLayout.Y_AXIS);
// to set the box layout
panel.setLayout(boxlayout);
// Set border for the panel
panel.setBorder(
new
EmptyBorder(
new
Insets(
100
,
150
,
100
,
150
)));
// Initialization of object "jb1" of JButton class.
jbtn1 =
new
JButton(
"Button 1"
);
// Initialization of object "jb2" of JButton class.
jbtn2 =
new
JButton(
"Button 2"
);
// Initialization of object "jb3" of JButton class.
jbtn3 =
new
JButton(
"Button 3"
);
// Initialization of object "jb4" of JButton class.
jbtn4 =
new
JButton(
"Button 4"
);
// Initialization of object "jb5" of JButton class.
jbtn5 =
new
JButton(
"Button 5"
);
// Adding JButton "jb1" on JFrame
panel.add(jbtn1);
// Adding JButton "jb2" on JFrame
panel.add(jbtn2);
// Adding JButton "jb3" on JFrame
panel.add(jbtn3);
// Adding JButton "jb4" on JFrame
panel.add(jbtn4);
// Adding JButton "jb5" on JFrame
panel.add(jbtn5);
// Function to set the panel of JFrame.
frame.add(panel);
// Function to use the pack of JFrame.
frame.pack();
// Function to set visible status of JFrame.
frame.setVisible(
true
);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/7/docs/api/javax/swing/BoxLayout.html
Publicación traducida automáticamente
Artículo escrito por Shivi_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA