什么是事件处理?请描述 Java 中事件处理中的组件?
awtjavaobject oriented programmingprogrammingswing
Java 中的 GUI 将通过鼠标、键盘和各种用户控件(例如按钮、复选框、文本字段等)与用户的交互作为事件进行处理。这些事件需要得到正确处理,才能将 Java 实现为事件驱动编程
事件处理中的组件
- 事件
- 事件源
- 事件监听器/处理程序
事件
- 事件被定义为描述源对象状态变化的对象。
- Java 在java.awt.event包中定义了许多这样的事件类
- 其中一些事件是ActionEvent、MouseEvent、KeyEvent、FocusEvent、 ItemEvent 和等。
事件源
- 源是生成事件的对象。
- 当该对象的内部状态以某种方式发生变化时,就会生成事件。
- 源必须注册侦听器,以便侦听器接收有关特定类型事件的通知。
- 一些事件源是按钮、复选框、列表、选择、窗口等。
事件侦听器
- 侦听器是在事件发生时收到通知的对象。
- 侦听器有两个主要要求,它应该注册到接收事件通知需要多一个源对象,并且它必须实现接收和处理这些通知的方法。
- Java 在 java.awt.event 包下定义了一组用于接收和处理事件的接口。
- 其中一些监听器包括 ActionListener、MouseListener、ItemListener、KeyListener、WindowListener 等。
示例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class EventListenerTest extends JFrame implements ActionListener { JButton button; public static void main(String args[]) { EventListenerTest object = new EventListenerTest(); object.createGUI(); } void createGUI() { button = new JButton(" Click Me !"); setSize(300,200); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); add(button); button.addActionListener(this); } public void actionPerformed(ActionEvent ae) { if(ae.getSource() == button) { JOptionPane.showMessageDialog(null, "Generates an Action Event"); } } }