Selecting a Radio Button component in Java

In this section, you will learn how to set the radio
buttons in a group so that only one can be selected at a time.
This program shows five radio buttons with labeled by
"First", "Second", "Third", "Fourth" and
"Fifth". This program also show a label which contains the text "Roseindia.net"
but when you click on any radio button from a ButtonGroup the text of the
selected radio button is shown on the label and a message box will be shown with
message holds the selected radio button label. This is done through the
generating event for the different-different radio buttons. Following are the
screen shots for the result of the given program:


For this purposes,
there are some APIs or methods have been used as follows:
getActionCommand():
This is the method of the ActionEvent class which returns the source
title in string of the generated event.
Here is the code of the program:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SelectRadioButton{
JLabel label;
public static void main(String[] args){
SelectRadioButton sr = new SelectRadioButton();
}
public SelectRadioButton(){
JFrame frame = new JFrame("Radio button selection");
JRadioButton first = new JRadioButton("First");
JRadioButton second = new JRadioButton("Second");
JRadioButton third = new JRadioButton("Third");
JRadioButton fourth = new JRadioButton("Fourth");
JRadioButton fifth = new JRadioButton("Fifth");
JPanel panel = new JPanel();
panel.add(first);
panel.add(second);
panel.add(third);
panel.add(fourth);
panel.add(fifth);
ButtonGroup bg = new ButtonGroup();
bg.add(first);
bg.add(second);
bg.add(third);
bg.add(fourth);
bg.add(fifth);
first.addActionListener(new MyAction());
second.addActionListener(new MyAction());
third.addActionListener(new MyAction());
fourth.addActionListener(new MyAction());
fifth.addActionListener(new MyAction());
label = new JLabel("Roseindia.net");
frame.add(panel, BorderLayout.NORTH);
frame.add(label, BorderLayout.CENTER);
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public class MyAction implements ActionListener{
public void actionPerformed(ActionEvent e){
label.setText(e.getActionCommand());
JOptionPane.showMessageDialog(null,"This is the " + e.getActionCommand() +
" radio button.");
}
}
}
|
Download this example.