Clase AWT GridBagLayout

Introducción

La clase GridBagLayout organiza los componentes de manera horizontal y vertical.

Declaración de clase

A continuación se muestra la declaración de java.awt.GridBagLayout clase:

public class GridBagLayout
   extends Object
      implements LayoutManager2, Serializable

Campo

Los siguientes son los campos para java.awt.BorderLayout clase:

  • double[] columnWeights - Este campo contiene las anulaciones de los pesos de columna.

  • int[] columnWidths - Este campo mantiene las modificaciones al ancho mínimo de la columna.

  • protected Hashtable comptable - Esta tabla hash mantiene la asociación entre un componente y sus restricciones de gridbag.

  • protected GridBagConstraints defaultConstraints - Este campo contiene una instancia de restricciones de gridbag que contiene los valores predeterminados, por lo que si un componente no tiene restricciones de gridbag asociadas, al componente se le asignará una copia de defaultConstraints.

  • protected java.awt.GridBagLayoutInfo layoutInfo - Este campo contiene la información de diseño del gridbag.

  • protected static int MAXGRIDSIZE - El número máximo de posiciones de la rejilla (tanto horizontal como verticalmente) que se pueden establecer mediante el diseño de la bolsa de rejilla.

  • protected static int MINSIZE - La rejilla más pequeña que se puede colocar mediante el diseño de la bolsa de rejilla

  • protected static int PREFERREDSIZE - El tamaño de cuadrícula preferido que se puede establecer mediante el diseño de la bolsa de cuadrícula.

  • int[] rowHeights - Este campo mantiene las modificaciones a las alturas mínimas de las filas.

  • double[] rowWeights - Este campo mantiene las anulaciones de los pesos de fila.

Constructores de clases

SNConstructor y descripción
1GridBagLayout()

Crea un administrador de diseño de bolsas de rejilla.

Métodos de clase

SNMétodo y descripción
1

void addLayoutComponent(Component comp, Object constraints)

Agrega el componente especificado al diseño, utilizando el objeto de restricciones especificado.

2

void addLayoutComponent(String name, Component comp)

Agrega el componente especificado con el nombre especificado al diseño.

3

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)

Ajusta los campos x, y, ancho y alto a los valores correctos según la geometría de restricción y los pads.

4

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)

Este método es obsoleto y se proporciona solo para compatibilidad con versiones anteriores; el nuevo código debería llamar a adjustForGravity en su lugar.

5

protected void arrangeGrid(Container parent)

Traza la cuadrícula.

6

protected void ArrangeGrid(Container parent)

Este método es obsoleto y se proporciona solo para compatibilidad con versiones anteriores; el nuevo código debería llamar a arreglarGrid en su lugar.

7

GridBagConstraints getConstraints(Component comp)

Obtiene las restricciones del componente especificado.

8

float getLayoutAlignmentX(Container parent)

Devuelve la alineación a lo largo del eje x.

9

float getLayoutAlignmentY(Container parent)

Devuelve la alineación a lo largo del eje y.

10

int[][] getLayoutDimensions()

Determina el ancho de las columnas y las alturas de las filas de la cuadrícula de diseño.

11

protected java.awt.GridBagLayoutInfo getLayoutInfo(Container parent, int sizeflag)

Completa una instancia de GridBagLayoutInfo para el conjunto actual de elementos secundarios administrados.

12

protected java.awt.GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)

Este método es obsoleto y se proporciona solo para compatibilidad con versiones anteriores; el nuevo código debería llamar a getLayoutInfo en su lugar.

13

Point getLayoutOrigin()

Determina el origen del área de diseño, en el espacio de coordenadas de gráficos del contenedor de destino.

14

double[][] getLayoutWeights()

Determina los pesos de las columnas y filas de la cuadrícula de diseño.

15

protected Dimension getMinSize(Container parent, java.awt.GridBagLayoutInfo info)

Calcula el tamaño mínimo del maestro basándose en la información de getLayoutInfo ().

dieciséis

protected Dimension GetMinSize(Container parent, java.awt.GridBagLayoutInfo info)

Este método es obsoleto y se proporciona solo para compatibilidad con versiones anteriores; el nuevo código debería llamar a getMinSize en su lugar.

17

void invalidateLayout(Container target)

Invalida el diseño, lo que indica que si el administrador de diseño tiene información almacenada en caché, debe descartarse.

18

void layoutContainer(Container parent)

Presenta el contenedor especificado utilizando este diseño de bolsa de rejilla.

19

Point location(int x, int y)

Determina qué celda de la cuadrícula de diseño contiene el punto especificado por (x, y).

20

protected GridBagConstraints lookupConstraints(Component comp)

Recupera las restricciones del componente especificado.

21

Dimension maximumLayoutSize(Container target)

Devuelve las dimensiones máximas para este diseño dados los componentes en el contenedor de destino especificado.

22

Dimension minimumLayoutSize(Container parent)

Determina el tamaño mínimo del contenedor principal utilizando este diseño de bolsa de rejilla.

23

Dimension preferredLayoutSize(Container parent)

Determina el tamaño preferido del contenedor principal utilizando este diseño de bolsa de rejilla.

24

void removeLayoutComponent(Component comp)

Elimina el componente especificado de este diseño.

25

void setConstraints(Component comp, GridBagConstraints constraints)

Establece las restricciones para el componente especificado en este diseño.

26

String toString()

Devuelve una representación de cadena de los valores de este diseño de bolsa de rejilla.

Métodos heredados

Esta clase hereda métodos de las siguientes clases:

  • java.lang.Object

Ejemplo de GridBagLayout

Cree el siguiente programa java usando cualquier editor de su elección en digamos D:/ > AWT > com > tutorialspoint > gui >

AwtLayoutDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AwtLayoutDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   private Label msglabel;

   public AwtLayoutDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtLayoutDemo  awtLayoutDemo = new AwtLayoutDemo();  
      awtLayoutDemo.showGridBagLayoutDemo();       
   }
      
   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showGridBagLayoutDemo(){
      headerLabel.setText("Layout in action: GridBagLayout");      

      Panel panel = new Panel();
      panel.setBackground(Color.darkGray);
      panel.setSize(300,300);
      GridBagLayout layout = new GridBagLayout();

      panel.setLayout(layout);        
      GridBagConstraints gbc = new GridBagConstraints();

      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.gridx = 0;
      gbc.gridy = 0;
      panel.add(new Button("Button 1"),gbc);

      gbc.gridx = 1;
      gbc.gridy = 0;
      panel.add(new Button("Button 2"),gbc); 

      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.ipady = 20;   
      gbc.gridx = 0;
      gbc.gridy = 1;
      panel.add(new Button("Button 3"),gbc); 

      gbc.gridx = 1;
      gbc.gridy = 1;       
      panel.add(new Button("Button 4"),gbc);  

      gbc.gridx = 0;
      gbc.gridy = 2;      
      gbc.fill = GridBagConstraints.HORIZONTAL;
      gbc.gridwidth = 2;
      panel.add(new Button("Button 5"),gbc);  

      controlPanel.add(panel);

      mainFrame.setVisible(true);  
   }
}

Compile el programa usando el símbolo del sistema. IrD:/ > AWT y escriba el siguiente comando.

D:\AWT>javac com\tutorialspoint\gui\AwtlayoutDemo.java

Si no aparece ningún error, eso significa que la compilación se realizó correctamente. Ejecute el programa usando el siguiente comando.

D:\AWT>java com.tutorialspoint.gui.AwtlayoutDemo

Verifique la siguiente salida