什么是事件处理?描述Java事件处理中的组件。
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");
}
}
}输出
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP