The JavaTM Tutorial
Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search

Trail: Creating a GUI with JFC/Swing
Lesson: Writing Event Listeners

How to Write an Item Listener

Item events are fired by components that implement the ItemSelectable(in the API reference documentation) interface. Generally, ItemSelectable components maintain on/off state for one or more items. The Swing components that fire item events include check boxes(in the Creating a User Interface trail), check box menu items(in the Creating a User Interface trail), and combo boxes(in the Creating a User Interface trail).

Here is some item-event handling code taken from ComponentEventDemo.java:

...
//where initialization occurs
checkbox.addItemListener(this);
...
public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == ItemEvent.SELECTED) {
        label.setVisible(true);

        label.revalidate();
        label.repaint();
    } else {
        label.setVisible(false);
    }
}

The Item Event API

The ItemListener(in the API reference documentation) interface has just one method, so it has no corresponding adapter class. Here's the method:
void itemStateChanged(ItemEvent)
Called just after a state change in the listened-to component.
The itemStateChanged method hod has a single parameter: an ItemEvent(in the API reference documentation) object. The ItemEvent class defines the following handy methods:
Object getItem()
Returns the component-specific object associated with the item whose state changed. Often this is a String containing the text on the selected item.
ItemSelectable getItemSelectable()
Returns the component that fired the item event. You can use this instead of the getSource method.
int getStateChange()
Returns the new state of the item. The ItemEvent class defines two states: SELECTED and DESELECTED.

Examples that Use Item Listeners

The following table lists some of examples that use item listeners.

Example Where Described Notes
ComponentEventDemo This section and How to Write a Component Listener Listens for item events on a check box, which determines whether a lable is visible.
CheckBoxDemo How to Use Check Boxes(in the Creating a User Interface trail) Four check boxes share one item listener, which uses getItemSelected to determine which check box fired the event.
MenuDemo How to Use Menus(in the Creating a User Interface trail) Listens for item events on a check box menu item.


Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search