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
SN | Construtor e descrição |
---|---|
1 | GridBagLayout()
Cria um gerenciador de layout de saco de grade. |
Métodos de aula
SN | Mé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.javapackage 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