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

public class RadioTest implements ActionListener
{
  JRadioButton smallButton, mediumButton, largeButton;
  ButtonGroup group;
  JLabel label;

  
  public Component createComponents()
  {
    smallButton = new JRadioButton("small", false);
    mediumButton = new JRadioButton("medium", true);
    largeButton = new JRadioButton("large", false);
    smallButton.addActionListener(this);
    mediumButton.addActionListener(this);
    largeButton.addActionListener(this);

    label = new JLabel("Medium Pizza");

    group = new ButtonGroup();

    group.add(smallButton);
    group.add(mediumButton);
    group.add(largeButton);

    JPanel buttonPanel = new JPanel();
    buttonPanel.add(smallButton);
    buttonPanel.add(mediumButton);
    buttonPanel.add(largeButton);

    Border etched = BorderFactory.createRaisedBevelBorder();
    buttonPanel.setBorder(etched);

    JPanel pane = new JPanel();
    pane.setLayout(new BorderLayout());
    pane.add(label, "North");
    pane.add(buttonPanel, "South");

    return pane;

   }

  public void actionPerformed(ActionEvent e)
  {
    Object src = e.getSource();
    if(src == smallButton)
      label.setText("Small Pizza");
    else if(src == mediumButton)
      label.setText("Medium Pizza");
    else label.setText("Large Pizza");
  }

    public static void main(String[] args)
    {
      JFrame frame = new JFrame("Radio Buttons");
      RadioTest gui = new RadioTest();
      Component contentsPanel = gui.createComponents();
      frame.getContentPane().add(contentsPanel);

      // Make the frame closeable
      frame.addWindowListener(new WindowAdapter() 
      {
	public void windowClosing(WindowEvent e)
	{
	  System.exit(0);
	}
      });

      // Make frame visible
      frame.setSize(300, 300);
      frame.setVisible(true);
    }
}

