/**
 * testgeo8.java	27/09/22
 * auteur : Jean-Paul Quelen
 * teste un assemblage de boutons avec GridBagLayout et GridBagConstraints
 */

import java.awt.*;
import javax.swing.*;

public class testgeo8 extends Panel {
	static final long serialVersionUID = 220927L;

	protected void installe_bouton (String nom, GridBagLayout gbl, GridBagConstraints gbc) {
		Button bouton = new Button (nom);
		gbl.setConstraints (bouton, gbc);
		add (bouton);
	}

	public testgeo8() {
		GridBagLayout gbl = new GridBagLayout();
		GridBagConstraints gbc = new GridBagConstraints();

		setFont (new Font(Font.SANS_SERIF, Font.PLAIN, 14));
		setLayout (gbl);
		gbc.fill = GridBagConstraints.BOTH;

/**
 *		b1 b2 b3 b4
 *		---- b5 ---
 *      ---- b6 ---
 *      --b7- b8 b9
 *		--- b10 ---
 */
		installe_bouton ("bouton1", gbl, gbc);
		installe_bouton ("bouton2", gbl, gbc);
		installe_bouton ("bouton3", gbl, gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		installe_bouton ("bouton4", gbl, gbc);

		installe_bouton ("bouton5", gbl, gbc);		// REMAINDER
		installe_bouton ("bouton6", gbl, gbc);		// REMAINDER

		gbc.gridwidth = GridBagConstraints.RELATIVE;
		gbc.gridwidth = 2;
		installe_bouton ("bouton7", gbl, gbc);
		gbc.gridwidth = 1;
		installe_bouton ("bouton8", gbl, gbc);
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		installe_bouton ("bouton9", gbl, gbc);

		installe_bouton ("bouton10", gbl, gbc);		// REMAINDER
	}

	public static void main (String args[]) {
		testgeo8 appl = new testgeo8();
		JFrame f = new JFrame("testgeo8");
		f.add (appl);
		f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

		f.pack();
//		f.setSize(f.getPreferredSize());
//		f.setSize (300, 300);
		f.setVisible (true);
	}

}
