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
JFrame
and implementsItemListener
. - Create a number of
JCheckBoxes
. - Override the
itemStateChanged
method ofItemListener.
- Use
ItemEvent.getItem
to 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.