GridBagLayout | Java Swing

GridBagLayout est l’un des gestionnaires de mise en page les plus flexibles et complexes fournis par la plate-forme Java. GridBagLayout place les composants dans une grille de lignes et de colonnes, permettant aux composants spécifiés de s’étendre sur plusieurs lignes ou colonnes. Toutes les rangées n’ont pas nécessairement la même hauteur. Pareil, toutes les colonnes n’ont pas nécessairement la même largeur. Essentiellement, GridBagLayout place les composants dans des rectangles (cellules) dans une grille, puis utilise les tailles préférées des composants pour déterminer la taille des cellules. Le comportement de redimensionnement est basé sur les pondérations que le programme attribue aux composants dans le GridBagLayout.
 
 

Exemple:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
  
public class MyGridbag extends JFrame 
{   
    MyGridbag() 
    { 
        // Définir le titre de JFrame
        setTitle("Exemple GridBagLayout"); 
  
        // Création d'un objet de la classe Jpanel
        JPanel p = new JPanel(); 
  
        // Définir la mise en page
        p.setLayout(new GridBagLayout()); 
  
        // Crée un objet de contraintes
        GridBagConstraints c = new GridBagConstraints(); 
  
        // Spécifie le padding externe de tous les composants
        c.insets = new Insets(1, 1, 1, 1); 
  
        // colonne 0
        c.gridx = 0; 
  
        // ligne 0
        c.gridy = 0; 
  
        // augmente la largeur des composants de 10 pixels
        c.ipadx = 100; 
  
        // augmente la hauteur des composants de 50 pixels
        c.ipady = 100; 
  
        // Ajouter les contraintes
        p.add(new JButton("Bouton 1"), c); 
  
        // colonne 1 
        c.gridx = 1; 
  
        // augmente la largeur des composants de 90 pixels
        c.ipadx = 20; 
  
        // augmente la hauteur des composants de 40 pixels
        c.ipady = 20; 
  
        // Ajouter les contraintes
        p.add(new JButton("Bouton 2"), c); 
  
        // colonne 0 
        c.gridx = 0; 
  
        // ligne 2 
        c.gridy = 1; 
  
        // augmente la largeur des composants de 20 pixels
        c.ipadx = 10; 
  
        // augmente la hauteur des composants de 20 pixels
        c.ipady = 10; 
  
        // Ajouter les contraintes
        p.add(new JButton("Bouton 3"), c); 
  
        // augmente la largeur des composants de 10 pixels
        c.ipadx = 60; 
  
        // colonne 1 
        c.gridx = 1; 
  
        // Ajouter les contraintes
        p.add(new JButton("Bouton 4"), c); 
  
        // Création d'un objet de "WindowAdapter"  
        WindowListener winAdap = new WindowAdapter() 
		{ 
            public void windowClosing(WindowEvent e) 
            { 
                // quitter le système
                System.exit(0); 
            } 
        }; 
  
        // ajouter le listener "windowlistener "
        addWindowListener(winAdap); 
  
        // ajouter le contenu
        getContentPane().add(p); 
  
        // Définir la taille du JFrame
        setSize(400, 250); 
  
        // Définir la visibilité de JFrame
        setVisible(true); 
    } 
  
    // Méthode principale
    public static void main(String[] args) 
    { 
        // appeler le constructeur
        new MyGridbag(); 
    } 
}

Sortie:


 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *