import javax.swing.JFrame;
import java.awt.Container;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.GridLayout;

/**
* La classe LayoutExercici mostra una certa combinació de layout managers
*
* @author Carles Romero
* @version 2005/02/04
*/
public class LayoutExercici extends JFrame {

    /**
     * Mčtode constructor d'objectes de la classe LayoutExercici
     */
    public LayoutExercici () { // constructor
        setTitle("Combinacions de Layout Managers");
        Container cnt=getContentPane();
        // Un JPanel, amb GridLayout, per posar-lo a l'est
        JPanel panelEst=new JPanel();
        panelEst.setLayout(new GridLayout(7,1));
        panelEst.add(new JButton("Botó E7"));
        panelEst.add(new JButton("Botó E6"));
        panelEst.add(new JButton("Botó E5"));
        panelEst.add(new JButton("Botó E4"));
        panelEst.add(new JButton("Botó E3"));
        panelEst.add(new JButton("Botó E2"));
        panelEst.add(new JButton("Botó E1"));
        cnt.add(panelEst,BorderLayout.EAST);
        // Un JPanel, amb GridLayout, per posar-lo a l'oest
        JPanel panelOest=new JPanel();
        panelOest.setLayout(new GridLayout(4,1));
        panelOest.add(new JButton("Botó O1"));
        panelOest.add(new JButton("Botó O2"));
        panelOest.add(new JButton("Botó O3"));
        panelOest.add(new JButton("Botó O4"));
        cnt.add(panelOest,BorderLayout.WEST);
        // Un JPanel, amb BorderLayout, per posar-lo al centre
        JPanel panelCentre=new JPanel();
        panelCentre.setLayout(new BorderLayout());
        // Un JPanel, amb GridLayout, per posar-lo al nord de
        // panelCentre
        JPanel panelCentreNord=new JPanel();
        panelCentreNord.setLayout(new GridLayout(1,3));
        panelCentreNord.add(new JButton("Botó N1"));
        panelCentreNord.add(new JButton("Botó N2"));
        panelCentreNord.add(new JButton("Botó N3"));
        panelCentre.add(panelCentreNord,BorderLayout.NORTH);
        // Un JPanel, amb GridLayout de tres files i dues
        // columnes, per posar-lo al centre de panelCentre
        JPanel panelCentreCentre=new JPanel();
        panelCentreCentre.setLayout(new GridLayout(3,2));
        panelCentreCentre.add(new JButton("Botó C1"));
        panelCentreCentre.add(new JButton("Botó C4"));
        panelCentreCentre.add(new JButton("Botó C2"));
        panelCentreCentre.add(new JButton("Botó C5"));
        panelCentreCentre.add(new JButton("Botó C3"));
        panelCentreCentre.add(new JButton("Botó C6"));
        panelCentre.add(panelCentreCentre,BorderLayout.CENTER);
        // Un JPanel, amb GridLayout, per posar-lo al sud de
        // panelCentre
        JPanel panelCentreSud=new JPanel();
        panelCentreSud.setLayout(new GridLayout(1,5));
        panelCentreSud.add(new JButton("Botó S5"));
        panelCentreSud.add(new JButton("Botó S2"));
        panelCentreSud.add(new JButton("Botó S3"));
        panelCentreSud.add(new JButton("Botó S4"));
        panelCentreSud.add(new JButton("Botó S1"));
        panelCentre.add(panelCentreSud,BorderLayout.SOUTH);
        cnt.add(panelCentre,BorderLayout.CENTER);
        pack();
        show();
    }

}