Classe AWT GridBagLayout

introduction

La classe GridBagLayout dispose les composants de manière horizontale et verticale.

Déclaration de classe

Voici la déclaration pour java.awt.GridBagLayout classe:

public class GridBagLayout
   extends Object
      implements LayoutManager2, Serializable

Champ

Voici les champs pour java.awt.BorderLayout classe:

  • double[] columnWeights - Ce champ contient les remplacements des poids de colonne.

  • int[] columnWidths - Ce champ contient les remplacements de la largeur minimale de la colonne.

  • protected Hashtable comptable - Cette table de hachage maintient l'association entre un composant et ses contraintes de grille.

  • protected GridBagConstraints defaultConstraints - Ce champ contient une instance de contraintes gridbag contenant les valeurs par défaut, donc si un composant n'est pas associé à des contraintes gridbag, alors le composant se verra attribuer une copie des defaultConstraints.

  • protected java.awt.GridBagLayoutInfo layoutInfo - Ce champ contient les informations de mise en page du gridbag.

  • protected static int MAXGRIDSIZE - Le nombre maximum de positions de grille (à la fois horizontalement et verticalement) qui peuvent être disposées par la disposition du sac de grille.

  • protected static int MINSIZE - La plus petite grille pouvant être disposée par la disposition du sac de grille.

  • protected static int PREFERREDSIZE - La taille de grille préférée qui peut être définie par la disposition du sac de grille.

  • int[] rowHeights - Ce champ contient les remplacements aux hauteurs minimales de ligne.

  • double[] rowWeights - Ce champ contient les remplacements des poids de ligne.

Constructeurs de classe

SN Constructeur et description
1 GridBagLayout()

Crée un gestionnaire de disposition de sac de grille.

Méthodes de classe

SN Méthode et description
1

void addLayoutComponent(Component comp, Object constraints)

Ajoute le composant spécifié à la présentation, à l'aide de l'objet de contraintes spécifié.

2

void addLayoutComponent(String name, Component comp)

Ajoute le composant spécifié avec le nom spécifié à la présentation.

3

protected void adjustForGravity(GridBagConstraints constraints, Rectangle r)

Ajuste les champs x, y, largeur et hauteur aux valeurs correctes en fonction de la géométrie de contrainte et des plots.

4

protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r)

Cette méthode est obsolète et fournie à des fins de compatibilité descendante uniquement; le nouveau code devrait appeler AdjustForGravity à la place.

5

protected void arrangeGrid(Container parent)

Dresse la grille.

6

protected void ArrangeGrid(Container parent)

Cette méthode est obsolète et fournie à des fins de compatibilité descendante uniquement; le nouveau code devrait appeler arrangeGrid à la place.

sept

GridBagConstraints getConstraints(Component comp)

Obtient les contraintes pour le composant spécifié.

8

float getLayoutAlignmentX(Container parent)

Renvoie l'alignement le long de l'axe x.

9

float getLayoutAlignmentY(Container parent)

Renvoie l'alignement le long de l'axe y.

dix

int[][] getLayoutDimensions()

Détermine les largeurs de colonne et les hauteurs de ligne pour la grille de disposition.

11

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

Remplit une instance de GridBagLayoutInfo pour l'ensemble actuel d'enfants gérés.

12

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

Cette méthode est obsolète et fournie à des fins de compatibilité descendante uniquement; le nouveau code doit appeler getLayoutInfo à la place.

13

Point getLayoutOrigin()

Détermine l'origine de la zone de mise en page, dans l'espace de coordonnées graphiques du conteneur cible.

14

double[][] getLayoutWeights()

Détermine les poids des colonnes et des lignes de la grille de disposition.

15

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

Détermine la taille minimale du maître en fonction des informations de getLayoutInfo ().

16

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

Cette méthode est obsolète et fournie à des fins de compatibilité descendante uniquement; le nouveau code doit appeler getMinSize à la place.

17

void invalidateLayout(Container target)

Invalide la mise en page, indiquant que si le gestionnaire de mise en page a mis des informations en cache, elles doivent être supprimées.

18

void layoutContainer(Container parent)

Dispose le conteneur spécifié en utilisant cette disposition de sac de grille.

19

Point location(int x, int y)

Détermine quelle cellule de la grille de disposition contient le point spécifié par (x, y).

20

protected GridBagConstraints lookupConstraints(Component comp)

Récupère les contraintes pour le composant spécifié.

21

Dimension maximumLayoutSize(Container target)

Renvoie les dimensions maximales de cette mise en page en fonction des composants du conteneur cible spécifié.

22

Dimension minimumLayoutSize(Container parent)

Détermine la taille minimale du conteneur parent à l'aide de cette disposition de sac de grille.

23

Dimension preferredLayoutSize(Container parent)

Détermine la taille préférée du conteneur parent à l'aide de cette disposition de grille.

24

void removeLayoutComponent(Component comp)

Supprime le composant spécifié de cette présentation.

25

void setConstraints(Component comp, GridBagConstraints constraints)

Définit les contraintes du composant spécifié dans cette présentation.

26

String toString()

Renvoie une représentation sous forme de chaîne des valeurs de cette disposition de grille.

Méthodes héritées

Cette classe hérite des méthodes des classes suivantes:

  • java.lang.Object

Exemple de GridBagLayout

Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say 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);  
   }
}

Compilez le programme à l'aide de l'invite de commande. Aller àD:/ > AWT et tapez la commande suivante.

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

Si aucune erreur ne survient, cela signifie que la compilation est réussie. Exécutez le programme en utilisant la commande suivante.

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

Vérifiez la sortie suivante