The javax.swing.JCheckBox class provides a box with a label that has two states: on and off. If the checkbox is selected, it is represented by a tick in a box. A checkbox can be used to show or hide a splash screen at startup, toggle visibility of a toolbar, etc.
Check out complete Swing tutorial at https://www.javaguides.net/p/java-swing-tutorial.html.
With JCheckBox it is possible to use an ActionListener or an ItemListener. Usually, the latter option is used. ItemListener is the interface for receiving item events. The class that is interested in processing an item event, e.g. the observer, implements this interface. The observer object is registered with a component using the component's addItemListener() method. When an item selection event occurs, the observer's itemStateChanged() method is invoked.
Java Swing CheckBox Example
This code example shows or hides the title of the window depending on whether the checkbox is selected.
import javax.swing.GroupLayout;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.EventQueue;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class CheckBoxExample extends JFrame implements ItemListener {
private static final long serialVersionUID = 1L;
private void initializeUI() {
JCheckBox cb = new JCheckBox("Show Title", true);
cb.addItemListener(this);
createLayout(cb);
setSize(280, 200);
setTitle("JCheckBox Example");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void itemStateChanged(ItemEvent e) {
int sel = e.getStateChange();
if (sel == ItemEvent.SELECTED) {
setTitle("JCheckBox");
} else {
setTitle("");
}
}
private void createLayout(JComponent...arg) {
JPanel pane = (JPanel) getContentPane();
GroupLayout gl = new GroupLayout(pane);
pane.setLayout(gl);
gl.setAutoCreateContainerGaps(true);
gl.setHorizontalGroup(gl.createParallelGroup().addComponent(arg[0]));
gl.setVerticalGroup(gl.createSequentialGroup().addComponent(arg[0]));
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
CheckBoxExample checkBoxExample = new CheckBoxExample();
checkBoxExample.initializeUI();
checkBoxExample.setVisible(true);
});
}
}
Let's understand the above Java program.
In the above example, the CheckBoxExample class implements ItemListener. This means that this class has to provide the itemStateChanged() method in which we react to item selection events.
public class CheckBoxEx extends JFrame
implements ItemListener {
JCheckBox is created with the following code. This constructor takes a text and the state of the checkbox as parameters. The checkbox is initially selected.
var checkbox = new JCheckBox("Show title", true);
The CheckBoxExample class is registered to be the observer of the selection events of the checkbox.
cb.addItemListener(this);
We call the ItemEvent's getStateChange() method to determine the state of the checkbox.
@Override
public void itemStateChanged(ItemEvent e) {
int sel = e.getStateChange();
if (sel == ItemEvent.SELECTED) {
setTitle("JCheckBox");
} else {
setTitle("");
}
}
Output
Check out the complete Swing tutorial at https://www.javaguides.net/p/java-swing-tutorial.html.
Related Swing Examples
- Java Swing Exit Button - In this post, I show you how to exit a Swing application when clicking on the exit button.
- Swing ToolTip Tutorial with Example - In this tutorial, we will learn how to add tooltip text to a Swing component.
- Java Swing BorderLayout Example - In this example, we will learn how to use BorderLayout in GUI/swing based applications.
- Java Swing GridLayout Tutorial with Examples - In this tutorial, we will learn how to use GridLayout in GUI/swing based applications.
- Swing Mouse Move Events using MouseMotionAdapter - In this tutorial, we will learn how to receive mouse motion events using MouseMotionAdapter.
- Java Swing CheckBox Example - In this post, I show you how to use JCheckBox class to create a Radio button in a Swing-based application.
- Java Swing Radio Button Example - In this post, I show you how to use JRadioButton class to create a Radio button in a Swing-based application.
- Java Swing Progress Bar Example - In this post, I show you how to create a progress bar using the JProgressBar component in swing-based applications.
- Java Swing Combo Box Example - In this post, I show you how to create a combo box using a JComboBox component in swing-based applications.
- Java Swing Slider Example - In this post, I show you how to create a slider using the JSlider component in swing-based applications.
- Java Swing Toggle Button Example - In this post, we will learn how to create a toggle button using the JToggleButton component in swing-based applications.
Comments
Post a Comment
Leave Comment