logo

BorderLayout (Administradores de diseño)

Administradores de diseño de Java

Los LayoutManagers se utilizan para organizar componentes de una manera particular. El Administradores de diseño de Java Nos facilita controlar el posicionamiento y el tamaño de los componentes en formularios GUI. LayoutManager es una interfaz implementada por todas las clases de administradores de diseño. Existen las siguientes clases que representan los administradores de diseño:

algoritmo para rsa
  1. java.awt.BorderLayout
  2. java.awt.FlowLayout
  3. java.awt.GridLayout
  4. java.awt.CardLayout
  5. java.awt.GridBagLayout
  6. javax.swing.BoxLayout
  7. javax.swing.GroupLayout
  8. javax.swing.ScrollPaneLayout
  9. javax.swing.SpringLayout, etc.

Diseño de borde de Java

BorderLayout se utiliza para organizar los componentes en cinco regiones: norte, sur, este, oeste y centro. Cada región (área) puede contener un solo componente. Es el diseño predeterminado de un marco o ventana. BorderLayout proporciona cinco constantes para cada región:

    público estático final int NORTE público estático final int SUR público estático final int ESTE público estático final int OESTE público estático final int CENTRO

Constructores de la clase BorderLayout:

    Diseño de borde():crea un diseño de borde pero sin espacios entre los componentes.BorderLayout(int hgap, int vgap):crea un diseño de borde con los espacios horizontales y verticales dados entre los componentes.

Ejemplo de clase BorderLayout: uso del constructor BorderLayout()

Nombre del archivo: Border.java

 import java.awt.*; import javax.swing.*; public class Border { JFrame f; Border() { f = new JFrame(); // creating buttons JButton b1 = new JButton('NORTH');; // the button will be labeled as NORTH JButton b2 = new JButton('SOUTH');; // the button will be labeled as SOUTH JButton b3 = new JButton('EAST');; // the button will be labeled as EAST JButton b4 = new JButton('WEST');; // the button will be labeled as WEST JButton b5 = new JButton('CENTER');; // the button will be labeled as CENTER f.add(b1, BorderLayout.NORTH); // b1 will be placed in the North Direction f.add(b2, BorderLayout.SOUTH); // b2 will be placed in the South Direction f.add(b3, BorderLayout.EAST); // b2 will be placed in the East Direction f.add(b4, BorderLayout.WEST); // b2 will be placed in the West Direction f.add(b5, BorderLayout.CENTER); // b2 will be placed in the Center f.setSize(300, 300); f.setVisible(true); } public static void main(String[] args) { new Border(); } } 

Producción:

Clase BorderLayoutdescarga este ejemplo

Ejemplo de clase BorderLayout: uso del constructor BorderLayout(int hgap, int vgap)

El siguiente ejemplo inserta espacios horizontales y verticales entre botones utilizando el constructor parametrizado BorderLayout(int hgap, int gap)

Nombre del archivo: BorderLayoutExample.java

 // import statement import java.awt.*; import javax.swing.*; public class BorderLayoutExample { JFrame jframe; // constructor BorderLayoutExample() { // creating a Frame jframe = new JFrame(); // create buttons JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // creating an object of the BorderLayout class using // the parameterized constructor where the horizontal gap is 20 // and vertical gap is 15. The gap will be evident when buttons are placed // in the frame jframe.setLayout(new BorderLayout(20, 15)); jframe.add(btn1, BorderLayout.NORTH); jframe.add(btn2, BorderLayout.SOUTH); jframe.add(btn3, BorderLayout.EAST); jframe.add(btn4, BorderLayout.WEST); jframe.add(btn5, BorderLayout.CENTER); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutExample(); } } 

Producción:

Clase BorderLayout

Java BorderLayout: sin especificar región

El método add() de la clase JFrame puede funcionar incluso cuando no especificamos la región. En tal caso, solo se muestra en el marco el último componente agregado y todos los componentes agregados anteriormente se descartan. El último componente cubre toda el área. El siguiente ejemplo muestra lo mismo.

Nombre del archivo: BorderLayoutWithoutRegionExample.java

 // import statements import java.awt.*; import javax.swing.*; public class BorderLayoutWithoutRegionExample { JFrame jframe; // constructor BorderLayoutWithoutRegionExample() { jframe = new JFrame(); JButton btn1 = new JButton('NORTH'); JButton btn2 = new JButton('SOUTH'); JButton btn3 = new JButton('EAST'); JButton btn4 = new JButton('WEST'); JButton btn5 = new JButton('CENTER'); // horizontal gap is 7, and the vertical gap is 7 // Since region is not specified, the gaps are of no use jframe.setLayout(new BorderLayout(7, 7)); // each button covers the whole area // however, the btn5 is the latest button // that is added to the frame; therefore, btn5 // is shown jframe.add(btn1); jframe.add(btn2); jframe.add(btn3); jframe.add(btn4); jframe.add(btn5); jframe.setSize(300,300); jframe.setVisible(true); } // main method public static void main(String argvs[]) { new BorderLayoutWithoutRegionExample(); } } 

Producción:

Clase BorderLayout