Classe AWT GridBagLayout

Introdução

A classe GridBagLayout organiza os componentes de maneira horizontal e vertical.

Declaração de classe

A seguir está a declaração para java.awt.GridBagLayout classe:

public class GridBagLayout
   extends Object
      implements LayoutManager2, Serializable

Campo

A seguir estão os campos para java.awt.BorderLayout classe:

  • double[] columnWeights - Este campo contém as substituições para os pesos da coluna.

  • int[] columnWidths - Este campo contém as substituições da largura mínima da coluna.

  • protected Hashtable comptable - Esta tabela de hash mantém a associação entre um componente e suas restrições de gridbag.

  • protected GridBagConstraints defaultConstraints - Este campo contém uma instância de restrições de gridbag contendo os valores padrão, portanto, se um componente não tiver restrições de gridbag associadas a ele, o componente receberá uma cópia de defaultConstraints.

  • protected java.awt.GridBagLayoutInfo layoutInfo - Este campo contém as informações de layout para o gridbag.

  • protected static int MAXGRIDSIZE - O número máximo de posições de grade (tanto horizontal quanto verticalmente) que podem ser dispostas pelo layout de saco de grade.

  • protected static int MINSIZE - A menor grade que pode ser definida pelo layout do saco da grade.

  • protected static int PREFERREDSIZE - O tamanho de grade preferido que pode ser definido pelo layout do saco de grade.

  • int[] rowHeights - Este campo contém as substituições para as alturas mínimas das linhas.

  • double[] rowWeights - Este campo contém as substituições para os pesos das linhas.

Construtores de classe

SNConstrutor e descrição
1GridBagLayout()

Cria um gerenciador de layout de saco de grade.

Métodos de aula

SNMétodo e Descrição
1

void addLayoutComponent(Component comp, Object constraints)

Adiciona o componente especificado ao layout, usando o objeto de restrições especificado.

2

void addLayoutComponent(String name, Component comp)

Adiciona o componente especificado com o nome especificado ao layout.

3

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)

Ajusta os campos x, y, largura e altura para os valores corretos, dependendo da geometria de restrição e dos blocos.

4

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)

Este método é obsoleto e fornecido apenas para compatibilidade com versões anteriores; em vez disso, o novo código deve chamar AdjustForGravity.

5

protected void arrangeGrid(Container parent)

Estabelece a grade.

6

protected void ArrangeGrid(Container parent)

Este método é obsoleto e fornecido apenas para compatibilidade com versões anteriores; em vez disso, o novo código deve chamar organizeGrid.

7

GridBagConstraints getConstraints(Component comp)

Obtém as restrições para o componente especificado.

8

float getLayoutAlignmentX(Container parent)

Retorna o alinhamento ao longo do eixo x.

9

float getLayoutAlignmentY(Container parent)

Retorna o alinhamento ao longo do eixo y.

10

int[][] getLayoutDimensions()

Determina larguras de coluna e alturas de linha para a grade de layout.

11

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

Preenche uma instância de GridBagLayoutInfo para o conjunto atual de filhos gerenciados.

12

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

Este método é obsoleto e fornecido apenas para compatibilidade com versões anteriores; o novo código deve chamar getLayoutInfo.

13

Point getLayoutOrigin()

Determina a origem da área de layout, no espaço de coordenadas de gráficos do contêiner de destino.

14

double[][] getLayoutWeights()

Determina os pesos das colunas e linhas da grade de layout.

15

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

Calcula o tamanho mínimo do mestre com base nas informações de getLayoutInfo ().

16

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

Este método é obsoleto e fornecido apenas para compatibilidade com versões anteriores; o novo código deve chamar getMinSize.

17

void invalidateLayout(Container target)

Invalida o layout, indicando que se o gerenciador de layout tiver informações armazenadas em cache, elas devem ser descartadas.

18

void layoutContainer(Container parent)

Estabelece o contêiner especificado usando este layout de saco de grade.

19

Point location(int x, int y)

Determina qual célula na grade de layout contém o ponto especificado por (x, y).

20

protected GridBagConstraints lookupConstraints(Component comp)

Recupera as restrições para o componente especificado.

21

Dimension maximumLayoutSize(Container target)

Retorna as dimensões máximas para este layout, dados os componentes no contêiner de destino especificado.

22

Dimension minimumLayoutSize(Container parent)

Determina o tamanho mínimo do contêiner pai usando este layout de saco de grade.

23

Dimension preferredLayoutSize(Container parent)

Determina o tamanho preferido do contêiner pai usando este layout de saco de grade.

24

void removeLayoutComponent(Component comp)

Remove o componente especificado deste layout.

25

void setConstraints(Component comp, GridBagConstraints constraints)

Define as restrições para o componente especificado neste layout.

26

String toString()

Retorna uma representação de string dos valores do layout deste saco de grade.

Métodos herdados

Esta classe herda métodos das seguintes classes:

  • java.lang.Object

Exemplo de GridBagLayout

Crie o seguinte programa java usando qualquer editor de sua escolha em dizer 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 o programa usando o prompt de comando. Vamos paraD:/ > AWT e digite o seguinte comando.

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

Se nenhum erro ocorrer, significa que a compilação foi bem-sucedida. Execute o programa usando o seguinte comando.

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

Verifique a seguinte saída