Layout1.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.Random;


/**
Demonstrate the JFrame's default BorderLayout.
*/
class Layout1 extends JFrame
{
    public static void main(String argv[])
    {
        Layout1 f = new Layout1();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.show();
    }

    public Layout1()
    {
        Toolkit kit = Toolkit.getDefaultToolkit();
        Dimension ss = kit.getScreenSize();
        setSize(ss.width/2,ss.height/2);
        setLocation(ss.width/4,ss.height/4);
        setTitle("CISC370-011 -- BorderLayout demo");
        Random rand = new Random();

        Container contentPane = getContentPane();

        JPanel sp1 = new JPanel();
        Border b1 = BorderFactory.createEtchedBorder();
        sp1.setBorder(b1);
        contentPane.add(sp1,BorderLayout.NORTH);

        JPanel sp2 = new JPanel();
        Border b2 = BorderFactory.createEtchedBorder();
        sp2.setBorder(b2);
        contentPane.add(sp2,BorderLayout.CENTER);

        JPanel sp3 = new JPanel();
        Border b3 = BorderFactory.createEtchedBorder();
        sp3.setBorder(b3);
        contentPane.add(sp3,BorderLayout.SOUTH);

        JPanel sp4 = new JPanel();
        Border b4 = BorderFactory.createEtchedBorder();
        sp4.setBorder(b4);
        contentPane.add(sp4,BorderLayout.WEST);

        JPanel sp5 = new JPanel();
        Border b5 = BorderFactory.createEtchedBorder();
        sp5.setBorder(b5);
        contentPane.add(sp5,BorderLayout.EAST);

        panelButton("Red",sp1,Color.RED);
        panelButton("Green",sp1,Color.GREEN);
        panelButton("Blue",sp1,Color.BLUE);

        panelButton("Light gray",sp2,Color.LIGHT_GRAY);
        panelButton("Gray",sp2,Color.GRAY);
        panelButton("Dark gray",sp2,Color.DARK_GRAY);

        panelButton("Cyan",sp3,Color.CYAN);
        panelButton("Magenta",sp3,Color.MAGENTA);
        panelButton("Yellow",sp3,Color.YELLOW);

        panelButton("Pink",sp4,Color.PINK);
        panelButton("Orange",sp4,Color.ORANGE);

        panelButton("White",sp5,Color.WHITE);
        panelButton("Black",sp5,Color.BLACK);
    }

    /**
    Add to a panel a button that sets its background color.
    */
    void panelButton(String name,final JPanel panel,final Color bg)
    {
        JButton jb = new JButton(name);
        panel.add(jb);
        jb.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
                { panel.setBackground(bg); }
            });
    }
}