|
|
Writing Event Listeners |
This section tells you how to write a listener for events that can be generated from a Swing component that are commonly handled by programs. First, it gives an overview of the listeners. After that, each listener type is discussed in its own subsection.In the table that follows, each row describes a particular group of events corresponding to one listener interface. The first column gives the name of the listener interface, with a link to the tutorial page that discusses that listener. The second column names the corresponding adapter class, if any. (For a discussion of using adapters, see Using Adapters and Inner Classes to Handle Events.) The third column indicates the package in which the listener interface, the event class, and the adapter class are defined. The fourth column lists the methods that the listener interface contains.
To see which Swing components can generate which kinds of events, see Events Generated by Swing Components.
* Swing provides the
Listener Interface Adapter Class Package Methods ActionListenernone java.awt.eventactionPerformedCaretListenernone javax.swing.eventcaretUpdateChangeListenernone javax.swing.eventstateChangedComponentListenerComponentAdapterjava.awt.eventcomponentHidden
componentMoved
componentResized
componentShownContainerListenerContainerAdapterjava.awt.eventcomponentAdded
componentRemovedDocumentListenernone javax.swing.eventchangedUpdate
insertUpdate
removeUpdateFocusListenerFocusAdapterjava.awt.eventfocusGained
focusLostInternalFrameListenerInternalFrameAdapterjavax.swing.eventinternalFrameActivated
internalFrameClosed
internalFrameClosing
internalFrameDeactivated
internalFrameDeiconified
internalFrameIconified
internalFrameOpenedItemListenernone java.awt.eventitemStateChangedKeyListenerKeyAdapterjava.awt.eventkeyPressed
keyReleased
keyTypedListSelectionListenernone javax.swing.eventvalueChangedMouseListenerMouseAdapterMouseInputAdapter*java.awt.eventjavax.swing.eventmouseClicked
mouseEntered
mouseExited
mousePressed
mouseReleasedMouseMotionListenerMouseMotionAdapterMouseInputAdapter*java.awt.eventjavax.swing.eventmouseDragged
mouseMovedUndoableEditListenernone javax.swing.eventundoableEditHappenedWindowListenerWindowAdapterjava.awt.eventwindowActivated
windowClosed
windowClosing
windowDeactivated
windowDeiconified
windowIconified
windowOpenedMouseInputAdapterclass as a convenience. It implements both theMouseListenerand theMouseMotionListenerinterfaces making it easier for you to handle both types of mouse events.The events described in the preceding table can be divided into two groups: low-level events and semantic events. Low-level events represent window-system occurrences or low-level input. Clearly, mouse and key events -- both of which result directly from user input -- are low-level events.
Component, container, focus, and window events are also low-level events. Component events let you track changes to a component's position, size, and visibility. Container events let you know when any component is added to or removed from a particular container. Focus events tell you when a component gains or loses the keyboard focus -- the ability to receive characters typed at the keyboard. Window events keep you informed of the basic status of any kind of
Window, such as aDialogor aFrame.Mouse events are broken into two groups -- mouse motion events and all other mouse events -- so that an object can listen for mouse events such as clicks without requiring the system overhead necessary for generating and forwarding mouse motion events, which tend to occur frequently.
Semantic events include action, change, document, and item events. These events are the result of component-specific user interaction. For example, a button generates an action event when the user clicks it, and a list generates an action event when the user doubleclicks an item in it. When a user selects an item in a group of items (such as a list), an item event is generated.
The next several sections have details on each type of event.
|
|
Writing Event Listeners |