import javax.swing.*;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class boutons 
{
    public static void main(String[] args) 
    {
        JFrame fenetre = new JFrame();
        fenetre.setSize(1000, 1000);
	    fenetre.setLocation(0, 0);
        fenetre.setLayout(new GridBagLayout());

        GridBagConstraints gbc = new GridBagConstraints();

        JButton b1 = new JButton("1");
        gbc.gridx = 0;      // la plage de cellules commence à la première colonne
        gbc.gridy = 0;      // la plage de cellules commence à la première ligne
        gbc.gridwidth = 2;  // la plage de cellules englobe deux colonnes
        gbc.gridheight = 1; // la plage de cellules englobe une seule ligne
        gbc.fill = GridBagConstraints.BOTH;     // occupe tout l'espace de la plage
        gbc.anchor = GridBagConstraints.CENTER; // se place au centre de la plage
        gbc.weightx = 1.0;  // souhaite plus de largeur si possible
        gbc.weighty = 1.0;  // n'a pas besoin de hauteur supplémentaire
        fenetre.add(b1, gbc);

        JButton b2 = new JButton("2");
        gbc.gridx = 2;      // la plage de cellules commence à la troisième colonne
        gbc.gridy = 0;      // la plage de cellules commence à la première ligne
        gbc.gridwidth = 1;  // la plage de cellules englobe une seule colonnes
        gbc.gridheight = 2; // la plage de cellules englobe deux ligne
        gbc.fill = GridBagConstraints.BOTH;     // occupe  tout l'espace de la plage
        gbc.anchor = GridBagConstraints.CENTER; // se place au centre de la plage
        gbc.weightx = 1.0;   // n'a pas besoin de largeur supplémentaire
        gbc.weighty = 1.0;  // souhaite plus de heuteur si possible
        fenetre.add(b2, gbc);

        JButton b3 = new JButton("3");
        gbc.gridx = 1;      // la plage de cellules commence à la deuxième colonne
        gbc.gridy = 2;      // la plage de cellules commence à la troisième ligne
        gbc.gridwidth = 2;  // la plage de cellules englobe deux colonnes
        gbc.gridheight = 1; // la plage de cellules englobe une seule ligne
        gbc.fill = GridBagConstraints.BOTH;     // occupe tout l'espace de la plage
        gbc.anchor = GridBagConstraints.CENTER; // se place au centre de la plage
        gbc.weightx = 1.0;  // souhaite plus de largeur si possible
        gbc.weighty = 1.0;    // n'a pas besoin de hauteur supplémentaire
        fenetre.add(b3, gbc);

        JButton b4 = new JButton("4");
        gbc.gridx = 0;      // la plage de cellules commence à la première colonne
        gbc.gridy = 1;      // la plage de cellules commence à la deuxième ligne
        gbc.gridwidth = 1;  // la plage de cellules englobe une seule colonnes
        gbc.gridheight = 2; // la plage de cellules englobe deux ligne
        gbc.fill = GridBagConstraints.BOTH;     // occupe  tout l'espace de la plage
        gbc.anchor = GridBagConstraints.CENTER; // se place au centre de la plage
        gbc.weightx = 1.0;    // n'a pas besoin de largeur supplémentaire
        gbc.weighty = 1.0;  // souhaite plus de heuteur si possible
        fenetre.add(b4, gbc);

        JButton b5 = new JButton("5");
        gbc.gridx = 1;      // la plage de cellules commence à la deuxième colonne
        gbc.gridy = 1;      // la plage de cellules commence à la deuxième ligne
        gbc.gridwidth = 1;  // la plage de cellules englobe une seule colonnes
        gbc.gridheight = 1; // la plage de cellules englobe une seule ligne
        gbc.fill = GridBagConstraints.BOTH;     // occupe  tout l'espace de la plage
        gbc.anchor = GridBagConstraints.CENTER; // se place au centre de la plage
        gbc.weightx = 1.0;    // n'a pas besoin de largeur supplémentaire
        gbc.weighty = 1.0;    // n'a pas besoin de heuteur supplémentaire
        fenetre.add(b5, gbc);

        fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        fenetre.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent we)
            { 
                if(JOptionPane.showConfirmDialog(null,"Etes-vous sur ?", null, JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
                {
                    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                } 
            }
        });
        
	    fenetre.setVisible(true);	

    }
}