Introducción a BorderLayout en Java

BorderLayout en Java o el Administrador de diseño es un objeto que tiene cada objeto contenedor, que controla su diseño, es decir, el tamaño y la posición de los componentes. En lenguaje sencillo, estos Gerentes de diseño se utilizan para organizar los componentes de una manera particular o específica. 'LayoutManager' se puede decir como una interfaz implementada por todas sus clases. Hay algunas clases de AWT y SWING que se han proporcionado como administradores de diseño para uso general. Algunos de ellos se enumeran a continuación:

  1. BorderLayout
  2. BoxLayout
  3. SpringLayout
  4. FlowLayout
  5. GroupLayout
  6. GridLayout, etc.

Antes de pasar a BorderLayout, supongamos que discutamos algunos puntos.

Casi todo en el mundo de las computadoras está organizado jerárquicamente, ya sea para un mejor almacenamiento o para crear un sistema de recuperación fácil. Los gestores de diseño utilizados para crear interfaces gráficas de usuario utilizando las clases de AWT disponibles son parte de uno de esos sistemas jerárquicos. Se llama Jerarquía de Contención. Aunque el enfoque de este artículo estará en uno de los LayoutManager disponibles conocidos como BorderLayout, antes de eso deberíamos saber cuál es la posición de BorderLayout en esta Jerarquía. Nuestra estructura de árbol que se ejecuta a través de marcos, componentes GUI, contenedores, etc. Comienza con:

  1. Primero, un contenedor de nivel superior o una clase de contenedor de nivel superior como JFrame, JApplet o JDialog, que actúa como la 'RAÍZ' de esta jerarquía de contención.
  2. En segundo lugar, para que un componente aparezca como un componente GUI en la pantalla, debe incluirse en la jerarquía de contención.
  3. Tercero, un componente debe estar o estará contenido en un solo contenedor.
  4. Cuarto, cada contenedor de nivel superior tendrá un panel de contenido, en términos generales, cada GUI visible (directa o indirectamente) está contenida en este panel de contenido.

¿Qué es BorderLayout?

Una clase BorderLayout es una de las clases del administrador de diseño que se considera el diseño predeterminado para los objetos de ventana. Los objetos de ventana como JFrame, JWindow, JDialog usan esta clase para mostrarse como componentes GUI. BorderLayout se utiliza para diseñar un contenedor, es decir, organizar y cambiar el tamaño de sus componentes. El diseño del borde organiza estos componentes en cinco regiones diferentes. De cinco, cuatro regiones o áreas se denominan norte, sur, este y oeste y la región media se denomina centro. Cada región puede contener solo un componente. El diseño del borde proporciona una colección de constantes utilizadas para posicionar componentes. Las regiones discutidas aquí identificadas por una constante correspondiente llamada NORTE, SUR, ESTE, OESTE y la constante para la región media como CENTRO. Usamos estas constantes mientras agregamos un componente usando un diseño de borde. Las constantes para cada región utilizada en nuestro código se enumeran a continuación:

  • public static final int NORTE: La constante de diseño Norte en la parte superior del contenedor.
  • public static final int SOUTH: La constante de diseño Sur en la parte inferior del contenedor.
  • public static final int CENTER: La disposición del centro constante en el medio del contenedor.
  • public static final int WEST: La distribución del oeste constante a la derecha del contenedor.
  • public static final int EAST: la constante de diseño Este a la izquierda del contenedor.

Además de las constantes mencionadas anteriormente, BorderLayout también proporciona otras constantes de posicionamiento como PAGE_START, PAGE_END, etc.

Constructores BorderLayout

Los constructores BorderLayout se utilizan para crear nuevos diseños de borde con espacios o sin espacios entre los componentes. El constructor de diseño de borde utiliza parámetros de espacio y espacio para especificar espacios horizontales y espacios verticales entre los componentes. Los constructores de diseño de borde se analizan a continuación:

Los discutiremos uno por uno junto con sus ejemplos.

1. BorderLayout ()

La clase BorderLayout se usa para crear un diseño de borde pero sin espacios entre los componentes. A continuación se muestra un código de ejemplo que utiliza el constructor BorderLayout (). El siguiente programa crea componentes en un JFrame cuya clase de instancia es 'border'. Puede ver en la captura de pantalla a continuación (después del código), hay cinco regiones.

Nuestro código ha creado cinco regiones usando cinco JButton y luego se agregan al diseño o JFrame usando un método add (). El tamaño y la visibilidad se determinan por separado para el JFrame. El método setSize () se usa para establecer el tamaño del marco y el método set Visibilidad () se usa para establecer la visibilidad del marco.

Código

//Java Program illustrating the BorderLayout
import java.awt.*;
import javax.swing.*;
public class border
(
JFrame JF;
border()
(
JF=new JFrame(); //JFrame object
//Lying at top, will be the button named 'North'
JButton b1=new JButton("NORTH");
//Lying at bottom, will be the button named 'South'
JButton b2=new JButton("SOUTH");
//Lying at left, will be the button named 'East'
JButton b3=new JButton("EAST");
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
//In the center, will be the button named 'Center'
JButton b5=new JButton("CENTER");
//Adding our buttons
JF.add(b1, BorderLayout.NORTH);
JF.add(b2, BorderLayout.SOUTH);
JF.add(b3, BorderLayout.EAST);
JF.add(b4, BorderLayout.WEST);
JF.add(b5, BorderLayout.CENTER);
//Function to set size of the Frame
JF.setSize(300, 300);
//Function to set visible status of the frame
JF.setVisible(true);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
new border();
)
)

En la siguiente captura de pantalla, puede ver cómo se ve el código en el editor de texto. He usado Eclipse como mi editor de texto.

Cuando se ejecuta el código, se muestra la siguiente salida.

Salida:

2. BorderLayout (int hgap, int vgap)

BorderLayout (int hgap, int vgap) también se escribe como BorderLayout (int, int) se usa para crear un diseño de borde con los espacios o espacios horizontales (hgap) y verticales (vgap) entre los siguientes. Es un código de ejemplo que usa BorderLayout ( int, int) constructor. El siguiente programa crea componentes en un JFrame cuya clase de instancia es 'border' de forma similar a la anterior pero con espacios verticales y horizontales. Puedes ver en la captura de pantalla a continuación (después del código).

Nuestro código ha creado cinco regiones con espacios entre ellas utilizando los parámetros vgap y hgap en BorderLayout (). El tamaño y la visibilidad se determinan nuevamente por separado para el JFrame. El método setSize () se usa para establecer el tamaño del marco y el método set Visibilidad () se usa para establecer la visibilidad del marco.

Puede ver el código para generar un marco utilizando BorderLayout con los parámetros vgap y hgap, creando espacios o espacios entre las regiones a continuación:

Código

//Java Program illustrating the BorderLayout with SPACES between COMPONENTS
import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Color;
public class borderlayout_spaces extends Frame
(
public borderlayout_spaces(String title)
(
super(title);
setLayout(new BorderLayout(20, 30));
//setBackground(Color.RED);
//Lying at top, will be the button named 'North'
JButton b1=new JButton("North");
add(b1, BorderLayout.NORTH);
//Lying at left, will be the button named 'East'
JButton b2=new JButton("EAST");
add(b2, BorderLayout.EAST);
//In the center, will be the button named 'Center'
JButton b3=new JButton("CENTER");
add(b3, BorderLayout.CENTER);
//Lying at right, will be the button named 'West'
JButton b4=new JButton("WEST");
add(b4, BorderLayout.WEST);
//Lying at bottom, will be the button named 'South'
JButton b5=new JButton("SOUTH");
add(b5, BorderLayout.SOUTH);
)
//Driver Code
public static void main(String() args)
(
//Calling the constructor
borderlayout_spaces screen =
new borderlayout_spaces("Border Layout");
screen.setSize(300, 300); //Function to set size of the Frame
screen.setVisible(true); //Function to set visible status of
the frame
)
)

En la siguiente captura de pantalla, puede ver cómo se ve el código en el editor de texto.

La línea de código, "setLayout (nuevo BorderLayout (20, 30))" establece la salida como la imagen que se muestra a continuación. Aquí 20 es el espacio horizontal y 30 representa el espacio vertical.

Cuando se ejecuta el código, se muestra la siguiente salida.

Salida:

Además, puede probar otras propiedades, por ejemplo, establecer el color de fondo. En el código anterior, si ve una línea de código comentada como "setBackground (Color.RED)"; si prueba este código con esta línea sin comentarios, su marco aparecerá como se muestra a continuación:

Existen otros métodos de uso común junto con el diseño del borde, como:

  1. toString (): devuelve una cadena que es una representación del estado del diseño del borde.
  2. getVgap (): devuelve el espacio vertical entre el componente.
  3. getHgap (): devuelve el espacio horizontal entre el componente.
  4. setVgap (int vgap): Esto se usa para ESTABLECER el espacio vertical entre el componente.
  5. setHgap (int hgap): se usa para ESTABLECER el espacio horizontal entre los componentes, etc.

Este artículo analizó algunos de los potentes LayoutManagers que se utilizan para diseñar los marcos de las ventanas y las GUI. El artículo también cubrió la escritura de diseños de código utilizando dos constructores diferentes conocidos como clase java.awt.BorderLayout y clase java.awt.BorderLayout (int, int), lo que podría haber sido un desafío. Pero deberías intentar y dejarlo ir. Si no, puede intentar usar el administrador de diseño java.awt.GroupLayout. También puede usar una herramienta de construcción junto con su administrador de diseño, por ejemplo, NetBeans IDE, que es una gran herramienta para crear su GUI.

Artículos recomendados

Esta es una guía para BorderLayout en Java. Aquí discutimos una introducción a BorderLayout en Java, BorderLayout Constructors con códigos y salidas. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Diseño en Java
  2. Diseño de cuadrícula en Java
  3. Variables en Java
  4. Copiar constructor en Java
  5. Diseño HTML