Writing Event Listeners |
Item events are generated by components that implement theItemSelectable
interface. These are components that maintain state -- generally the on/off state for one or more items. The Swing components that generate item events are [PENDING: check/update list] checkboxes, checkbox menu items, and comboboxes.Item Event Methods
TheItemListener
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.
Examples of Handling Item Events
Here is some item-event handling code taken fromComponentEventDemo.java
:public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { label.setVisible(true); } else { label.setVisible(false); } }You can find more examples of item listeners in the following source files:
CardWindow.java
Converter.java
CheckBoxDemo.java
ComponentEventDemo.java
PopupMenuDemo.java
ScrollDemo.java
The ItemEvent Class
TheitemStateChanged
method hod has a single parameter: anItemEvent
object. TheItemEvent
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. For an item event generated by aJComboBox
, this is anInteger
that specifies the index of the selected item [CHECK].ItemSelectable getItemSelectable()
- Returns the component that generated 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
andDESELECTED
.
Writing Event Listeners |