什么是事件处理?描述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");
      }
   }
}

输出

更新于:2020年2月7日

3K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告