Both JRadioButton and JCheckBox components can extend JToggleButton class, the main difference is that JRadioButton is a group of buttons in which only one button can be selected at a time whereas JCheckBox is a group of checkboxes in which multiple items can be selected at a time.
JRadioButton
- A JRadioButton is a component that represents an item with a state selected or unselected. Usually, a group of radio buttons is created to provide options to the user, but only one option can be selected at a time.
- JRadioButton will generate an ActionListener, ChangeListener, and ItemListener interfaces.
- The radio buttons are often used in a group to display multiple options, therefore, they are used with ButtonGroup class. The ButtonGroup has a property that only one button in a group is selected at a given time and it does not have the visual appearance.
- The important methods of JRadioButton are setText(), getText(), setEnabled(),setMnemonic() and etc.
Example
import java.awt.*; import javax.swing.*; public class JRadioButtonTest extends JFrame { public JRadioButtonTest() { super("JRadioButton Test"); JRadioButton jrb1 = new JRadioButton("Java"); JRadioButton jrb2 = new JRadioButton("Python"); JRadioButton jrb3 = new JRadioButton("Scala"); ButtonGroup group = new ButtonGroup(); group.add(jrb1); group.add(jrb2); group.add(jrb3); setLayout(new FlowLayout()); add(jrb1); add(jrb2); add(jrb3); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(450,375); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new JRadioButtonTest(); } }); } }
Output
JCheckBox
- A JCheckBox is a component that represents an item which shows a state of selected or unselected. We can change this state by clicking on the checkbox of the component.
- A standard JCheckBox component contains a checkbox and a label that describes the purpose of the checkbox.
- A JCheckBox can generate either ItemListener or ActionListener interfaces.
- The important methods of JCheckBox are setLabel(), getLabel(), setState(), getState() and etc.
Example
import java.awt.*; import javax.swing.*; public class JCheckBoxTest extends JFrame { JCheckBoxTest() { super("JCheckBox Test"); JLabel lblHobbies = new JLabel("Languages"); JCheckBox chkSports = new JCheckBox("Java"); JCheckBox chkMusic = new JCheckBox("Python ",true); JCheckBox chkReading = new JCheckBox("Scala"); setLayout(new FlowLayout()); add(lblHobbies); add(chkSports); add(chkMusic); add(chkReading); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(450,375); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new JCheckBoxTest(); } }); } }