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