JCheckbox
Handle JCheckBox event
In this example we are going to see how to handle JcheckBox events in a Java Desktop Application. Checkboxes are very commonly used when we provide the user with a list of choices and we want him to pick as many as he wishes.
Basically in order to handle JCheckBox events, one should follow these steps:
- Create a class tha extends
JFrameand implementsItemListener. - Create a number of
JCheckBoxes. - Override the
itemStateChangedmethod ofItemListener. - Use
ItemEvent.getItemto get the item which changed state.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.desktop;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class HandleJCheckBoxEvent extends JFrame implements ItemListener {
private static final long serialVersionUID = 1L;
private JCheckBox checkBox1;
private JCheckBox checkBox2;
private JCheckBox checkBox3;
public HandleJCheckBoxEvent() {
// set flow layout for the frame
this.getContentPane().setLayout(new FlowLayout());
checkBox1 = new JCheckBox("Checkbox 1");
checkBox2 = new JCheckBox("Checkbox 2");
checkBox3 = new JCheckBox("Checkbox 3");
checkBox1.addItemListener(this);
checkBox2.addItemListener(this);
checkBox3.addItemListener(this);
// add checkboxes to frame
add(checkBox1);
add(checkBox2);
add(checkBox3);
}
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getItem()==checkBox1) {
System.out.println("Checkbox 1 state changed");
}
else if (e.getItem()==checkBox2) {
System.out.println("Checkbox 2 state changed");
}
else if (e.getItem()==checkBox3) {
System.out.println("Checkbox 3 state changed");
}
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new HandleJCheckBoxEvent();
//Display the window.
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
This was an example on how to handle JCheckBox events.
