按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
a d d I t e m L i s t e n e r ( )
r e m o v e I t e m L i s t e n e r ( )
T e x t E v e n t Anything derived from Textponent ; including TextArea and
T e x t L i s t e n e r T e x t F i e l d
a d d T e x t L i s t e n e r ( )
r e m o v e T e x t L i s t e n e r ( )
⑤:即使表面上如此,但实际上并没有MouseMotiionEvent (鼠标运动事件)。单击和运动都合成到
MouseEvent 里,所以 MouseEvent 在表格中的这种另类行为并非一个错误。
可以看到,每种类型的组件只为特定类型的事件提供了支持。这有助于我们发现由每种组件支持的事件,如
下表所示:
组件类型 支持的事件
C o m p o n e n t t y p e E v e n t s s u p p o r t e d b y t h i s c o m p o n e n t
A d j u s t a b l e A d j u s t m e n t E v e n t
A p p l e t Conta inerEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
B u t t o n ActionEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
C a n v a s F o c u s E v e n t ; K e y E v e n t ; M o u s e E v e n t ; C o m p o n e n t E v e n t
C h e c k b o x ItemEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
CheckboxMenuItem A c t i o n E v e n t ; I t e m E v e n t
C h o i c e ItemEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
C o m p o n e n t F o c u s E v e n t ; K e y E v e n t ; M o u s e E v e n t ; C o m p o n e n t E v e n t
C o n t a i n e r ContainerEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
411
…………………………………………………………Page 413……………………………………………………………
D i a l o g Co ntainerEvent; WindowEvent; FocusEvent; KeyEvent; MouseEvent;
C o m p o n e n t E v e n t
F i l e D i a l o g ContainerEvent; WindowEvent; FocusEvent; KeyEvent; MouseEvent;
C o m p o n e n t E v e n t
F r a m e ContainerEvent; WindowEvent; FocusEvent; KeyEvent; MouseEvent;
C o m p o n e n t E v e n t
L a b e l F o c u s E v e n t ; K e y E v e n t ; M o u s e E v e n t ; C o m p o n e n t E v e n t
L i s t ActionEvent; FocusEvent; KeyEvent; MouseEvent; ItemEvent; ponentEvent
M e n u A c t i o n E v e n t
M e n u I t e m A c t i o n E v e n t
P a n e l ContainerEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
P o p u p M e n u Act i o n E v e n t
S c r o l l b a r AdjustmentEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
S c r o l l P a n e ContainerEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
T e x t A r e a TextEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
T e x t C o m p o n e n t T e x t E v e n t; FocusEvent; KeyEvent; MouseEvent; ponentEvent
T e x t F i e l d ActionEvent; TextEvent; FocusEvent; KeyEvent; MouseEvent; ponentEvent
W i n d o w ContainerEvent; WindowEvent; FocusEvent; KeyEvent; MouseEvent;
C o m p o n e n t E v e n t
一旦知道了一个特定的组件支持哪些事件,就不必再去寻找任何东西来响应那个事件。只需简单地:
(1) 取得事件类的名字,并删掉其中的“Event”字样。在剩下的部分加入“Listener ”字样。这就是在我们
的内部类里需要实现的接收器接口。
(2) 实现上面的接口,针对想要捕获的事件编写方法代码。例如,假设我们想捕获鼠标的移动,所以需要为
MouseMotiionListener 接口的 mouseMoved()方法编写代(当然还必须实现其他一些方法,但这里有捷径可
循,马上就会讲到这个问题)。
(3) 为步骤 2 中的接收器类创建一个对象。随自己的组件和方法完成对它的注册,方法是在接收器的名字里
加入一个前缀“add”。比如addMouseMotionListener()。
下表是对接收器接口的一个总结:
接收器接口 接口中的方法
Listener interface M e t h o d s i n i n t e r f a c e
w / a d a p t e r
A c t i o n L i s t e n e r actionPerformed(ActionEvent)
AdjustmentListener a d j u s t m e n t V a l u e C h a n g e d (
A d j u s t m e n t E v e n t )
ponentListener ponentHidden(ponentEvent)
ponentAdapter ponentShown(ponentEvent)
ponentMoved(ponentEvent)
ponentResized(ponentEvent)
ContainerListener ponentAdded(ContainerEvent)
ContainerAdapter ponentRemoved(ContainerEvent)
F o c u s L i s t e n e r f o c u s G a i n e d ( F o c u s E v e n t )
412
…………………………………………………………Page 414……………………………………………………………
F o c u s A d a p t e r f o c u s L o s t ( F o c u s E v e n t )
K e y L i s t e n e r k e y P r e s s e d ( K e y E v e n t )
K e y A d a p t e r k e y R e l e a s e d ( K e y E v e n t )
k e y T y p e d ( K e y E v e n t )
M o u s e L i s t e n e r m o u s e C l i c k e d ( M o u s e E v e n t )
M o u s e A d a p t e r m o u s e E n t e r e d ( M o u s e E v e n t )
m o u s e E x i t e d ( M o u s e E v e n t )
m o u s e P r e s s e d ( M o u s e E v e n t )
m o u s e R e l e a s e d ( M o u s e E v e n t )
MouseMotionListener m o u s e D r a g g e d ( M o u s e E v e n t )
MouseMotionAdapter m o u s e M o v e d ( M o u s e E v e n t )
W i n d o w L i s t e n e r w i n d o w O p e n e d ( W i n d o w E v e n t )
W i n d o w A d a p t e r windowClosing(WindowEvent)
w i n d o w C l o sed(WindowEvent)
windowActivated(WindowEvent)
windowDeactiv