Java处理事件相应的类和监听接口大多位于 awt 包中。
在 java.swing.event 包中有专门用于 swing 组件的事件类和监听接口。
awt 事件类继承自 AWTEvent,其超类是 java.util.EventObject。
在 AWT 事件中,事件分为低级事件和语义事件,语义事件是对某些低级事件的一种抽象概括,是单个或多个低级事件的某些特例的集合。
常用的低级事件有
keyEvent // 按键按下或释放时产生该事件 MouseEvent // 鼠标按下、释放、拖动、移动时产生该事件 FocusEvent // 组件失去焦点产生该事件 WindowEvent // 窗口发生变化时产生该事件
常用的语义事件有
ActionEvent // 当单击按钮、选中菜单或在文本框中回车等时产生该事件 ItemEvent // 选中多选框、选中按钮、单击列表产生该事件
常用事件和事件监听
事件类型 | 对应的监听器 | 监听器接口中的抽象方法 |
Action | ActionListener | actionPerformed(ActionEvent e) |
Mouse | MouseListener | mouseClicked(MouseEvent e)、mouseEntered(MouseEvent e)、mouseExited(MouseEvent e)、mousePressed(MouseEvent e)、mouseReleased(MouseEvent e) |
MouseMotion | MouseMotionListener | mouseDragged(MouseEvent e)、mouseMoved(MouseEvent e) |
Item | ItemListener | itemStateChanged(ItemEvent e) |
Key | KeyListener | keyPressed(KeyEvent e)、keyReleased(KeyEvent e)、keyTyped(KeyEvent e) |
Focus | FocusListener | focusGained(FocusEvent e)、focusLost(FocusEvent e) |
Window | WindowListener | windowActivated(WindowEvent e)、windowClosed(WindowEvent e)、windowClosing(WindowEvent e)、windowDeactivated(WindowEvent e)、windowDeiconified(WindowEvent e)、windowIconified(WindowEvent e)、windowOpened(WindowEvent e) |
Component | ComponentListener | componentHidden(ComponentEvent e)、componentMoved(ComponentEvent e)、componentResized(ComponentEvent e)、componentShown(ComponentEvent e) |
Text | TestListener | textValueChanged(TextEvent e) |