// A little applet that demonstrates JRadionButton with a group
// of radio buttons that control the background color of a label.

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

public class RadioButtonDemo extends JApplet implements ActionListener 
{

   JRadioButton redRadio, blueRadio, greenRadio, blackRadio;  // the buttons

   JLabel label;  // Will show the background color specified by
                  // the selected radio button.

   public void init() 
   {
   
      getContentPane().setLayout( new GridLayout(5,1) );
      
      ButtonGroup colorGroup = new ButtonGroup();
         // A ButtonGroup is needed to synchronize the radio
         // buttons so that no more than one of them will
         // be selected at any given time.  Each button will be
         // added to this group.
      
      redRadio = new JRadioButton("Red");
      colorGroup.add(redRadio);
      redRadio.addActionListener(this);
      getContentPane().add(redRadio);

      blueRadio = new JRadioButton("Blue");
      colorGroup.add(blueRadio);
      blueRadio.addActionListener(this);
      getContentPane().add(blueRadio);

      greenRadio = new JRadioButton("Green");
      colorGroup.add(greenRadio);
      greenRadio.addActionListener(this);
      getContentPane().add(greenRadio);

      blackRadio = new JRadioButton("Black");
      colorGroup.add(blackRadio);
      blackRadio.addActionListener(this);
      getContentPane().add(blackRadio);

      redRadio.setSelected(true);  // Set an initial selection.

      label = new JLabel("Red is selected", JLabel.CENTER);
      label.setForeground(Color.white);
      label.setBackground(Color.red);
      label.setOpaque(true);
      getContentPane().add(label);

   } // end init()
   
   public void actionPerformed(ActionEvent evt) 
   {
         // The applet serves as a listener for all the radio buttons,
         // so this method is called whenever the user clicks on one
         // of the buttons.
      if ( redRadio.isSelected() ) {
         label.setBackground(Color.red);
         label.setText("Red is selected");
      }
      else if ( blueRadio.isSelected() ) {
         label.setBackground(Color.blue);
         label.setText("Blue is selected");
      }
      else if ( greenRadio.isSelected() ) {
         label.setBackground(Color.green);
         label.setText("Green is selected");
      }
      else if ( blackRadio.isSelected() ) {
         label.setBackground(Color.black);
         label.setText("Black is selected");
      }
   } // end actionPerformed()
   
} // end class RadioButtonDemo


Back to Lesson 30 Examples

Back to Java Main Page