L'instance de la classe GridLayout propose un gestionnaire de placement disposant les composants à l'intérieur des cellules d'une grille rectangulaire régullière.

La classe GridLayout dispose de trois constructeurs.

GridLayout GL = new GridLayout();
Le constructeur par défaut permet d'instancier un objet GridLayout composé d'une seule ligne et d'une seule colonne.
GridLayout GL = new GridLayout(lignes, colonnes);
Le second constructeur permet de créer un objet GridLayout composé du nombre de lignes et de colonnes passés en argument.
GridLayout GL = new GridLayout(lignes, colonnes, espacesH, espacesV);
Le dernier constructeur crée un gestionnaire de placement composé d'un certain nombre de colonnes et de lignes, ainsi que d'espaces horizontaux et verticaux entre les composants.

Il faut qu'au moins une des valeurs représentant le nombre de colonnes et de lignes soit différente de zéro. De cette façon, un objet GridLayout pourra être soit une ligne, soit une colonne, composée d'un certain nombre de cellules.

GridLayout GL = new GridLayout(0, 10);

GridLayout GL = new GridLayout(10, 0);
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Grille extends JFrame {
    public Grille() {
        super("Démonstration GridLayout");

        this.creerInterface();

        super.pack();
        super.setVisible(true);
    }
    public void creerInterface() {
        JPanel pan = (JPanel)this.getContentPane();
        JTextField texte1 = new JTextField(20);
        JButton btn1 = new JButton("Premier bouton");
        JTextField texte2 = new JTextField(20);
        JButton btn2 = new JButton("Second bouton");
        JTextField texte3 = new JTextField(20);
        JButton btn3 = new JButton("Troisième bouton");
        JTextField texte4 = new JTextField(20);
        JButton btn4 = new JButton("Quatrième bouton");

        GridLayout gestionnaire = new GridLayout(4, 4);
        pan.setLayout(gestionnaire);
        pan.add(texte1);
        pan.add(btn1);
        pan.add(texte2);
        pan.add(btn2);
        pan.add(texte3);
        pan.add(btn3);
        pan.add(texte4);
        pan.add(btn4);
    }
    public static void main(String[] args) {
        Grille boite = new Grille();
    }
}