JCheckBox in Java Swing is a class from Java Swing library that represents a graphical component that allows the user to select one or more options from a set of options. A JCheckBox component typically displays a box that can be checked or unchecked, along with a label that describes the option being represented.
Table of Contents
Single JCheckBox Example
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class SingleJCheckBoxDemo extends JFrame {
public SingleJCheckBoxDemo() {
// Create a JCheckBox component
JCheckBox checkBox = new JCheckBox("Option 1");
// Add the JCheckBox component to the JFrame
add(checkBox);
// Set the JFrame properties
setTitle("JCheckBox Demo");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new SingleJCheckBoxDemo();
}
}
The output of the above code is:
Multiple JCheckBox Example
import java.awt.FlowLayout;
import java.util.Arrays;
import java.util.List;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class MultipleJCheckBoxDemo extends JFrame {
List<JCheckBox> checkBoxes;
public MultipleJCheckBoxDemo() {
// Create a JCheckBox component
checkBoxes = Arrays.asList(new JCheckBox("Option 1"), new JCheckBox("Option 2"), new JCheckBox("Option 3"));
// Add the JCheckBox component to the JFrame
for (JCheckBox checkBox : checkBoxes) {
add(checkBox);
}
setLayout(new FlowLayout(FlowLayout.CENTER));
// Set the JFrame properties
setTitle("JCheckBox Demo");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new MultipleJCheckBoxDemo();
}
}
The output of the above code is:
Add event in JCheckBox
To add an event in JCheckBox, we need to add an action listener for each JCheckBox so that when the user clicks on the check box it displays the selected check box value as output. See the example below:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.List;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class MultipleJCheckBoxDemo extends JFrame {
List<JCheckBox> checkBoxes;
public MultipleJCheckBoxDemo() {
// Create a JCheckBox component
checkBoxes = Arrays.asList(new JCheckBox("Option 1"), new JCheckBox("Option 2"), new JCheckBox("Option 3"));
// Add the JCheckBox component to the JFrame
for (JCheckBox checkBox : checkBoxes) {
add(checkBox);
}
setLayout(new FlowLayout(FlowLayout.CENTER));
// Set the JFrame properties
setTitle("JCheckBox Demo");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
// Adding an event to checkbox to display the vlaue when user selects a
// checkbox.
checkBoxes.forEach(checkBox -> {
checkBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (checkBox.isSelected())
JOptionPane.showMessageDialog(null, checkBox.getText());
}
});
});
}
public static void main(String[] args) {
new MultipleJCheckBoxDemo();
}
}
Output: