AWT de Java | Clase GridLayout

La clase GridLayout representa un administrador de diseño con un número específico de filas y columnas en una cuadrícula rectangular. El contenedor GridLayout se divide en rectángulos del mismo tamaño y uno de los componentes se coloca en cada rectángulo. Cada celda rectangular tiene el mismo tamaño, por lo tanto, contienen un componente que llena toda la celda. Cuando el usuario cambia o ajusta el tamaño del contenedor, el tamaño de cada rectángulo cambia en consecuencia.

Constructores de la clase:

  1. GridLayout(): crea un diseño de cuadrícula con un valor predeterminado de una columna por componente, en una sola fila.
  2. GridLayout (int rw, int cl): crea un diseño de cuadrícula con el número especificado de filas y columnas.
  3. GridLayout(int rw, int cl, int hgap, int vgap): crea un diseño de cuadrícula con el número especificado de filas y columnas con espacio horizontal y vertical.

Métodos comúnmente utilizados:

  • addLayoutComponent(String str, Component cmp): agrega el componente especificado con el nombre especificado al diseño.
  • setColumns(int cl): Establece el número de columnas en este diseño al valor especificado.
  • setHgap(int hgap): establece el espacio horizontal entre los componentes en el valor especificado.
  • setRows(int rw): Establece el número de filas en este diseño al valor especificado.
  • setVgap(int vgap): establece el espacio vertical entre los componentes en el valor especificado.
  • layoutContainer(Container pr): presenta el contenedor especificado utilizando este diseño.
  • toString(): Devuelve la representación de string de los valores de este diseño de cuadrícula.

Los siguientes programas ilustran la clase GridLayout:

  • Programa 1: en el siguiente programa, estamos pasando el argumento en GridLayout . Creamos 4 componentes JLabel llamados » uno «, » dos «, » tres «, » cuatro » y creamos 2 componentes JButton llamados » buttonsave « y » buttonexit » y creamos 4 componentes Jtextfield llamados » tname «, » tcode «, » tdesig “, “ tsalary ” y todos los agregan al JFrame mediante el método add(). Estableceremos la visibilidad y el tamaño del marco usando setVisible() ymétodo setSize() . El diseño se establece mediante el método setLayout() .

    // Java program to illustrate the GridLayout
    import javax.swing.*;
    import java.awt.*;
      
    // class GridLayout extends JFrame
    public class GridLayoutDemo extends JFrame {
      
    GridLayoutDemo() {
      
        // Creating Object P1 of JPanel class
        JPanel p1 = new JPanel();
      
        // set the layout
        p1.setLayout(new GridLayout(4, 2));
      
        // Creating Object of "FlowLayout" class
        FlowLayout layout = new FlowLayout();
      
        // Creating Object P2 of JPanel class
        JPanel p2 = new JPanel();
      
        // set the layout
        p2.setLayout(layout);
      
        // Declaration of objects of JLabel class.
        JLabel one, two, three, four;
      
        // Declaration of objects of JTextField class.
        JTextField tname, tsalary, tcode, tdesig;
      
        // Declaration of objects of JButton class.
        JButton buttonSave, buttonExit;
      
        // Initialization of object 
        // "one" of JLabel class.
        one = new JLabel("NAME");
      
        // Initialization of object 
        // "tname" of JTextField class.
        tname = new JTextField(20);
      
        // Initialization of object
        // "two" of JLabel class.
        two = new JLabel("CODE");
      
        // Initialization of object 
        // "tcode" of JTextField class.
        tcode = new JTextField(20);
      
        // Initialization of object
        // "three" of JLabel class.
        three = new JLabel("DESIGNATION");
      
        // Initialization of object 
        // "tdesig" of JTextField class.
        tdesig = new JTextField(20);
      
        // Initialization of object
        // "four" of JLabel class.
        four = new JLabel("SALARY");
      
        // Initialization of object 
        // "tsalary" of JTextField class.
        tsalary = new JTextField(20);
      
        // Initialization of object
        // "buttonsave" of JButton class.
        buttonSave = new JButton("SAVE");
      
        // Initialization of object
        // "buttonexit" of JButton class.
        buttonExit = new JButton("EXIT");
      
        // Adding Jlabel "one" on JFrame.
        p1.add(one);
      
        // Adding JTextField "tname" on JFrame.
        p1.add(tname);
      
        // Adding Jlabel "two" on JFrame.
        p1.add(two);
      
        // Adding JTextField "tcode" on JFrame.
        p1.add(tcode);
      
        // Adding Jlabel "three" on JFrame.
        p1.add(three);
      
        // Adding JTextField "tdesig" on JFrame.
        p1.add(tdesig);
      
        // Adding Jlabel "four" on JFrame.
        p1.add(four);
      
        // Adding JTextField "tsalary" on JFrame.
        p1.add(tsalary);
      
        // Adding JButton "buttonsave" on JFrame.
        p2.add(buttonSave);
      
        // Adding JButton "buttonexit" on JFrame.
        p2.add(buttonExit);
      
        // add the p1 object which 
        // refer to the Jpanel
        add(p1, "North");
      
        // add the p2 object which
        // refer to the Jpanel
        add(p2, "South");
      
        // Function to set visible
        // status of JFrame.
        setVisible(true);
      
        // this Keyword refers to current
        // object. Function to set size of JFrame.
        this.setSize(400, 180);
    }
      
        // Main Method
        public static void main(String args[])
        {
      
            // calling the constructor
            new GridLayoutDemo();
        }
    }

    Producción:

  • Programa 2: en el siguiente programa, estamos pasando el argumento en GridLayout . Creamos 5 componentes JButton llamados » btn1 « , » btn2 «, » btn3 «, » btn4 «, » btn5 » y luego los agregamos al JFrame mediante el método add() . Estableceremos la visibilidad y el tamaño del marco usando el método setvisible() y setsize() . El diseño se establece mediante el método setLayout() .

    // Java program to illustrate the GridLayout
    import java.awt.*;
    import javax.swing.*;
      
    // create a class griddemo
    public class Griddemo {
      
    // Main Method
    public static void main(String[] args)
    {
      
        // Creating Object of JFrame class 
        // with new name frame
        JFrame frame = new JFrame("GridLayout Demo");
      
        // Initialization of object 
        // "btn1" of JButton class.
        JButton btn1 = new JButton("Button 1");
      
        // Initialization of object 
        // "btn2" of JButton class.
        JButton btn2 = new JButton("Button 2");
      
        // Initialization of object 
        // "btn3" of JButton class.
        JButton btn3 = new JButton("Button 3");
      
        // Initialization of object
        // "btn4" of JButton class.
        JButton btn4 = new JButton("Button 4");
      
        // Initialization of object 
        // "btn5" of JButton class.
        JButton btn5 = new JButton("Button 5");
      
        // Creating Object Panel of JPanel class
        // create grid layout with 3 rows, 
        // 2 columns with horizontal and 
        // vertical gap set to 10
        JPanel panel = new JPanel(new GridLayout(3, 2, 10, 10));
      
        // Adding JButton "btn1" on JPanel.
        panel.add(btn1);
      
        // Adding JButton "btn2" on JPanel.
        panel.add(btn2);
      
        // Adding JButton "btn3" on JPanel.
        panel.add(btn3);
      
        // Adding JButton "btn4" on JPanel.
        panel.add(btn4);
      
        // Adding JButton "btn5" on JPanel.
        panel.add(btn5);
      
        // Function to close the operation of JFrame.
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
        // Function to set size of JFrame.
        frame.setSize(300, 150);
      
        // Function to get the content of JFrame.
        frame.getContentPane().add(panel);
      
        // 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/java/awt/GridLayout.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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *