title: Java Button Handler
body: <p>I am having an issue handling button events. I am creating a program that lets the user select the type of pizza they want and the program calculates the price of the pizza. I have my layout setup, however when a medium pizza is selected the button is not processing the proper response. Can anyone give me some advice? I have looked over my code for the past hour and I just can't seem to see the error I am making. Here is my code...</p>
  
  <pre><code>public class Prog9Frame extends JFrame implements ActionListener
  {
  private JLabel title;
  private JLabel size;
  private JLabel toppings;
  private JComboBox crust;
  private JRadioButton mediumRadio;
  private JRadioButton largeRadio;
  private JRadioButton xLargeRadio;
  private JCheckBox pepperoniBox;
  private JCheckBox sausageBox;
  private JCheckBox mushroomsBox;
  private JCheckBox onionsBox;
  private JLabel total;
  private JTextField totalField;
  private JButton submit;
  
  public Prog9Frame()
  {
      super ("Pizzazz Pizza");
      setLayout( new BorderLayout( 5,5 ) );
  
      //north region
      title = new JLabel ( "Pizzazz Pizza", JLabel.CENTER );
      add ( title, BorderLayout.NORTH);
  
      //west region
      JPanel westPanel = new JPanel();
      westPanel.setLayout( new BoxLayout( westPanel, BoxLayout.Y_AXIS ) );
  
      westPanel.add(Box.createRigidArea( new Dimension( 25,1 )) );
      size = new JLabel ( "Size" );
      westPanel.add( Box.createVerticalStrut((20)) );
      westPanel.add( size );
      mediumRadio = new JRadioButton( "Medium" );
      westPanel.add(Box.createVerticalStrut(20) );
      westPanel.add( mediumRadio );
      largeRadio = new JRadioButton( "Large ");
      westPanel.add(Box.createVerticalStrut(20));
      westPanel.add(largeRadio);
      xLargeRadio = new JRadioButton( "X-Large ");
      westPanel.add(Box.createVerticalStrut(20));
      westPanel.add(xLargeRadio);
      add(westPanel, BorderLayout.WEST);
  
      //center region
      JPanel centerPanel = new JPanel();
      centerPanel.setLayout( new BoxLayout(centerPanel, BoxLayout.Y_AXIS ));
  
      toppings = new JLabel ( "Toppings" );
      centerPanel.add(Box.createVerticalStrut(( 20 )) );
      centerPanel.add( toppings );
      pepperoniBox = new JCheckBox( "Pepperoni" );
      centerPanel.add(Box.createVerticalStrut(( 20 )) );
      centerPanel.add( pepperoniBox);
      sausageBox = new JCheckBox( "Sausage" );
      centerPanel.add(Box.createVerticalStrut(( 20 )) );
      centerPanel.add( sausageBox);
      mushroomsBox = new JCheckBox( "Mushrooms" );
      centerPanel.add(Box.createVerticalStrut(( 20 )) );
      centerPanel.add( mushroomsBox);
      onionsBox = new JCheckBox( "Onions" );
      centerPanel.add(Box.createVerticalStrut(( 20 )) );
      centerPanel.add( onionsBox);
      add( centerPanel, BorderLayout.CENTER);
  
      //east region
      JPanel eastPanel = new JPanel();
      eastPanel.setLayout(new BoxLayout(eastPanel, BoxLayout.Y_AXIS));
      eastPanel.add(Box.createHorizontalStrut(20));
      eastPanel.add(Box.createVerticalStrut(50));
      String[] crustStrings = { "Thin", "Regular", "Deep Dish" };
      JComboBox crust = new JComboBox(crustStrings);
      eastPanel.add(crust);
      eastPanel.add(Box.createVerticalStrut(200));
      add( eastPanel, BorderLayout.EAST);
  
      //south region
      JPanel southPanel = new JPanel();
      southPanel.setLayout(new FlowLayout( FlowLayout.CENTER) );
  
      JTextField totalField = new JTextField(10);
      southPanel.add(totalField);
      JButton submit = new JButton ("Submit");
      submit.addActionListener( this );
      southPanel.add( submit );
      add( southPanel, BorderLayout.SOUTH);
  
  
  }
  //handle button events
  public void actionPerformed( ActionEvent event )
  {
  if (mediumRadio.isSelected())
      {
          double pizzaMed = 7.95;
          totalField.setText(new DecimalFormat("###00.00").format(pizzaMed));
          }
      }
  
  }
  </code></pre>