Robotics C++ Physics II AP Physics B Electronics Java Astronomy Other Courses Summer Session  

JRadioButton

 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class RadioButtonTest extends JFrame
  {
   private JTextField t;
   private Font plainFont, boldFont,
                italicFont, boldItalicFont;
   private JRadioButton plain, bold, italic, boldItalic;
   private ButtonGroup radioGroup;
 
   public RadioButtonTest()
   {
      super( "RadioButton Test" );
 
      Container c = getContentPane();
      c.setLayout( new FlowLayout() );
 
      t = new JTextField( "Watch the font style change", 25 );
      c.add( t );
 
      // Create radio buttons
      plain = new JRadioButton( "Plain", true );
      c.add( plain );
      bold = new JRadioButton( "Bold", false);
      c.add( bold );
      italic = new JRadioButton( "Italic", false );
      c.add( italic );
      boldItalic = new JRadioButton( "Bold/Italic", false );
      c.add( boldItalic );
 
      // register events
      RadioButtonHandler handler = new RadioButtonHandler();
      plain.addItemListener( handler );
      bold.addItemListener( handler );
      italic.addItemListener( handler );
      boldItalic.addItemListener( handler );
 
      // create logical relationship between JRadioButtons
      radioGroup = new ButtonGroup();
      radioGroup.add( plain );
      radioGroup.add( bold );
      radioGroup.add( italic );
      radioGroup.add( boldItalic );
 
      plainFont = new Font( "TimesRoman", Font.PLAIN, 14 );
      boldFont = new Font( "TimesRoman", Font.BOLD, 14 );
      italicFont = new Font( "TimesRoman", Font.ITALIC, 14 );
      boldItalicFont =
         new Font( "TimesRoman", Font.BOLD + Font.ITALIC, 14 );
      t.setFont( plainFont );
 
      setSize( 300, 100 );
      show();
   }
 
   public static void main( String args[] )
   {
      RadioButtonTest app = new RadioButtonTest();
 
      app.addWindowListener(
         new WindowAdapter()
        {
            public void windowClosing( WindowEvent e )
            {
               System.exit( 0 );
            }
         }
      );
   }
 
   private class RadioButtonHandler implements ItemListener
     {
      public void itemStateChanged( ItemEvent e )
      {
         if ( e.getSource() == plain )
            t.setFont( plainFont );
         else if ( e.getSource() == bold )
            t.setFont( boldFont );
         else if ( e.getSource() == italic )
            t.setFont( italicFont );
         else if ( e.getSource() == boldItalic )
            t.setFont( boldItalicFont );
 
         t.repaint();
      }
   }
}