// -*- Coding: utf-8 -*- // Time-stamp: <GBLDemo1.java 10 déc 2015 15:45:10> import java.awt.*; import javax.swing.*; /** * Démo de GridBaglayout * @author O. Carton * @version 1.0 */ class GBLDemo1 extends JFrame { final int width = 150; // Largeur de la fenêtre final int height = 150; // Hauteur de la fenêtre public GBLDemo1 () { // Dimension de la fenêtre setSize(width, height); // Titre de la fenêtre setTitle("Demo GrigBagLayout 1"); // Action à faire lorsque la fenêtre est fermée par setDefaultCloseOperation(EXIT_ON_CLOSE); // Panneau principal Container contentPane = getContentPane(); // Ajout des éléments au panneau principal contentPane.setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); // Pour tous les éléments gbc.fill = GridBagConstraints.BOTH; gbc.anchor = GridBagConstraints.CENTER; gbc.weightx = 1; gbc.weighty = 1; // La disposition recherchée est la suivante // // 0 1 2 // ----------- // 0 | A | | // |-------| B | // 1 | | D | | // | C |-------| // 2 | | E | // ------------- // Les valeurs de gridx et gridy sont explicites. // Premiere ligne gbc.gridx = 0; gbc.gridwidth = 2; contentPane.add(new JButton("A"), gbc); gbc.gridx = 2; gbc.gridwidth = 1; gbc.gridheight = 2; contentPane.add(new JButton("B"), gbc); // Deuxieme ligne gbc.gridx = 0; gbc.gridy = 1; contentPane.add(new JButton("C"), gbc); gbc.gridx = 1; gbc.gridheight = 1; contentPane.add(new JButton("D"), gbc); // Troisieme Ligne gbc.gridx = 1; gbc.gridy = 2; gbc.gridwidth = 2; contentPane.add(new JButton("E"), gbc); } public static void main(String [] args) { // Création de la fenêtre GBLDemo1 view = new GBLDemo1(); // Affichage de la fenêtre view.setVisible(true); } }