CButtons.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
Demonstrate Swing components in an applet.
*/
public class CButtons extends JApplet
{
    public void init()
    {
        Container contentPane = getContentPane();
        JPanel p = new JPanel();
        contentPane.add(p);

        Action[] action = new Action[3];
        action[0] = new CBAction(p,Color.RED,"Red");
        action[1] = new CBAction(p,Color.YELLOW,"Yellow");
        action[2] = new CBAction(p,Color.GREEN,"Green");
        for (int i=0; i<action.length; i++) {
            JButton b = new JButton(action[i]);
            p.add(b);
            }
    }
}

class CBAction extends AbstractAction
{
    public CBAction(Container container,Color color,String name)
    {
        this.container = container;
        this.color = color;
        putValue(Action.NAME,name);
    }

    public void actionPerformed(ActionEvent e)
    {
        container.setBackground(color);
    }

    private Container container;
    private Color color;
}