|
|
Writing Event Listeners |
Item events are fired by components that implement theItemSelectableinterface. Generally,
ItemSelectablecomponents maintain on/off state for one or more items. The Swing components that fire item events include check boxes, check box menu items
, and combo boxes
.
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
TheItemListenerinterface has just one method, so it has no corresponding adapter class. Here's the method:
The
void itemStateChanged(ItemEvent)- Called just after a state change in the listened-to component.
itemStateChangedmethod hod has a single parameter: anItemEventobject. The
ItemEventclass defines the following handy methods:
Object getItem()- Returns the component-specific object associated with the item whose state changed. Often this is a
Stringcontaining the text on the selected item.ItemSelectable getItemSelectable()- Returns the component that fired the item event. You can use this instead of the
getSourcemethod.int getStateChange()- Returns the new state of the item. The
ItemEventclass defines two states:SELECTEDandDESELECTED.Examples that Use Item Listeners
The following table lists some of examples that use item listeners.
Example Where Described Notes ComponentEventDemo.javaThis section and How to Write a Component Listener Listens for item events on a check box, which determines whether a lable is visible. CheckBoxDemo.javaHow to Use Check Boxes Four check boxes share one item listener, which uses getItemSelectedto determine which check box fired the event.MenuDemo.javaHow to Use Menus Listens for item events on a check box menu item.
|
|
Writing Event Listeners |