什麼是事件處理?描述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+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.