Introduction
This article explains how the ItemListener interface in Java works. The Netbenas IDE is used for the development of the example.
What is ItemListener
ItemListener is an interface that listens for the item event, basically it refers to the item selection. The ItemListener interface mainly maintains an on/off state for one or more items.
Methods used in ItemListener Interface
- itemStateChanged(ItemEvent e)
This method is called when the item is selected or deselected by the user.
It is a predefined method of the checkbox class, using this method we check whether the checkbox is
selected or not. If the checkbox is selected then it returns true otherwise it returns false.
Packages Imported
java.awt.*;
AWT stands for Abstract Window Toolkit, it is a package in Java that is imported to provide a graphical user interface to programs. The AWT classes falls under the following categories.
Containers
The containers consist of the following things:
- Frame
- Dialog
- Window
- Panel
- ScrollPane
Components
The Components of AWT are as follows:
- Button
- Checkbox
- Choice
- List
- Label
- TextArea
- PopupMenu
LayoutManager
The LayoutManager has the following things:
- FlowLayout
- Borderlayout
- GridLayout
- Gridbaglayout
- Cardlayout
java.awt.event.*;
This package is imported to handle various types of events fired by AWT components. Events are basically fired by event sources.
Example
In this example; we define how to use the ItemListener interface in Java using the Netbeans IDE. There are certain steps in the Netbeans IDE that we need to follow as explained below.
Step 1
Open the Netbeans IDE.
Step 2
Click on the "File" from the Menu bar as in the following:
Step 3
Click on "New Project" as in the following:
Step 4
Select "Java" and "Java application" as in the following:
Step 5
Click on "Next" as in the following:
Step 6
Instead of project name specify "CheckBoxTest" and instead of main class also specify "CheckBoxTest" and click on "Finish".
Step 7
In this class write the following code (the class name is "CheckBoxTest"):
import java.awt.*;
import java.awt.event.*;
class CheckBoxTest extends Frame implements ItemListener
{
Checkbox cb1,cb2;
TextField tf;
CheckBoxTest()
{
setTitle("Checkbox testing");
setSize(300,300);
setLayout(new FlowLayout());
cb1=new Checkbox("c++");
cb2=new Checkbox("java");
tf=new TextField(20);
cb1.addItemListener(this);
cb2.addItemListener(this);
add(cb1);
add(cb2);
add(tf);
setVisible(true);
}
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==cb1 || e.getSource()==cb2)
{
if(cb1.getState()&&cb2.getState())
tf.setText("{Both are Selected");
else if(cb1.getState())
tf.setText("c++ has been selected");
else if(cb2.getState())
tf.setText("java has been selected");
else
tf.setText("None selected");
}
}
public static void main(String[] args)
{
new CheckBoxTest();
}
}
Step 8
Now go to ChecKBoxTest and right-click on that, click on "Run" from the menu bar as in the following:
Output
The output will appear as in the following:
If we select the first item, C++, then the output will be "C++ has been selected" as in the following:
If we select the second item, Java, then the output will be "Java has been selected" as in the following:
If we select both items then the output will be "Both are selected" as in the following:
If we do not select any item then the output will be "None are selected" as in the following: