Classe GridBagLayout AWT

introduzione

La classe GridBagLayout dispone i componenti in modo orizzontale e verticale.

Dichiarazione di classe

Di seguito è riportata la dichiarazione per java.awt.GridBagLayout classe:

public class GridBagLayout
   extends Object
      implements LayoutManager2, Serializable

Campo

Di seguito sono riportati i campi per java.awt.BorderLayout classe:

  • double[] columnWeights - Questo campo contiene le sostituzioni ai pesi delle colonne.

  • int[] columnWidths - Questo campo contiene le sostituzioni alla larghezza minima della colonna.

  • protected Hashtable comptable - Questa tabella hash mantiene l'associazione tra un componente e i suoi vincoli gridbag.

  • protected GridBagConstraints defaultConstraints - Questo campo contiene un'istanza di vincoli gridbag contenente i valori predefiniti, quindi se un componente non dispone di vincoli gridbag ad esso associati, al componente verrà assegnata una copia di defaultConstraints.

  • protected java.awt.GridBagLayoutInfo layoutInfo - Questo campo contiene le informazioni sul layout per il gridbag.

  • protected static int MAXGRIDSIZE - Il numero massimo di posizioni della griglia (sia orizzontalmente che verticalmente) che possono essere stabilite dal layout della griglia.

  • protected static int MINSIZE - La griglia più piccola che può essere tracciata dalla disposizione del sacco a griglia.

  • protected static int PREFERREDSIZE - La dimensione della griglia preferita che può essere definita dal layout del sacchetto della griglia.

  • int[] rowHeights - Questo campo contiene gli override delle altezze minime delle righe.

  • double[] rowWeights - Questo campo contiene le sostituzioni dei pesi delle righe.

Costruttori di classi

SN Costruttore e descrizione
1 GridBagLayout()

Crea un gestore del layout del sacchetto della griglia.

Metodi di classe

SN Metodo e descrizione
1

void addLayoutComponent(Component comp, Object constraints)

Aggiunge il componente specificato al layout, utilizzando l'oggetto vincoli specificato.

2

void addLayoutComponent(String name, Component comp)

Aggiunge il componente specificato con il nome specificato al layout.

3

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)

Regola i campi x, y, larghezza e altezza sui valori corretti a seconda della geometria del vincolo e dei pad.

4

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)

Questo metodo è obsoleto e viene fornito solo per compatibilità con le versioni precedenti; il nuovo codice dovrebbe invece chiamare AdjustForGravity.

5

protected void arrangeGrid(Container parent)

Disegna la griglia.

6

protected void ArrangeGrid(Container parent)

Questo metodo è obsoleto e viene fornito solo per compatibilità con le versioni precedenti; il nuovo codice dovrebbe invece chiamare organizzareGrid.

7

GridBagConstraints getConstraints(Component comp)

Ottiene i vincoli per il componente specificato.

8

float getLayoutAlignmentX(Container parent)

Restituisce l'allineamento lungo l'asse x.

9

float getLayoutAlignmentY(Container parent)

Restituisce l'allineamento lungo l'asse y.

10

int[][] getLayoutDimensions()

Determina la larghezza delle colonne e l'altezza delle righe per la griglia di layout.

11

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

Compila un'istanza di GridBagLayoutInfo per il set corrente di elementi figlio gestiti.

12

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

Questo metodo è obsoleto e viene fornito solo per compatibilità con le versioni precedenti; il nuovo codice dovrebbe invece chiamare getLayoutInfo.

13

Point getLayoutOrigin()

Determina l'origine dell'area di layout, nello spazio delle coordinate grafiche del contenitore di destinazione.

14

double[][] getLayoutWeights()

Determina i pesi delle colonne e delle righe della griglia di layout.

15

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

Calcola la dimensione minima del master in base alle informazioni da getLayoutInfo ().

16

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

Questo metodo è obsoleto e viene fornito solo per compatibilità con le versioni precedenti; il nuovo codice dovrebbe invece chiamare getMinSize.

17

void invalidateLayout(Container target)

Invalida il layout, indicando che se il gestore del layout ha informazioni memorizzate nella cache, dovrebbe essere eliminato.

18

void layoutContainer(Container parent)

Disegna il contenitore specificato utilizzando questo layout del sacco a griglia.

19

Point location(int x, int y)

Determina quale cella nella griglia di layout contiene il punto specificato da (x, y).

20

protected GridBagConstraints lookupConstraints(Component comp)

Recupera i vincoli per il componente specificato.

21

Dimension maximumLayoutSize(Container target)

Restituisce le dimensioni massime per questo layout dati i componenti nel contenitore di destinazione specificato.

22

Dimension minimumLayoutSize(Container parent)

Determina la dimensione minima del contenitore padre utilizzando questo layout del sacchetto della griglia.

23

Dimension preferredLayoutSize(Container parent)

Determina la dimensione preferita del contenitore padre utilizzando questo layout del sacchetto della griglia.

24

void removeLayoutComponent(Component comp)

Rimuove il componente specificato da questo layout.

25

void setConstraints(Component comp, GridBagConstraints constraints)

Imposta i vincoli per il componente specificato in questo layout.

26

String toString()

Restituisce una rappresentazione di stringa dei valori di questo layout del sacchetto della griglia.

Metodi ereditati

Questa classe eredita i metodi dalle classi seguenti:

  • java.lang.Object

Esempio di GridBagLayout

Crea il seguente programma java usando qualsiasi editor di tua scelta, diciamo 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);  
   }
}

Compilare il programma utilizzando il prompt dei comandi. Vai aD:/ > AWT e digita il seguente comando.

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

Se non viene visualizzato alcun errore, significa che la compilazione è riuscita. Esegui il programma utilizzando il seguente comando.

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

Verificare il seguente output