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:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | 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.