Java事件處理機制和適配器全面解析

Java事件處理機制和適配器

最重要的是理解事件源監視器處理事件的接口的概念。

1.事件源:是能夠產生時間的對象都可以叫事件源,比如文本框,按鈕,下拉列表之類的組件。

2.監視器:事件源要產生事件,必須要有什麼東西去監視它,以便作出相應啊,那就是監視器,監視器的作用是對事件源進行監視,以便對發生的時間進行處理。

事件源通過相應的方法註冊自己的監聽器。比如addListener(監聽器);

3.處理事件的接口:監視器負責處理事件源發生的事件,監視器是一個對象,為瞭處理事件源發生的事件,監視器這個對象會自動調用一個方法來處理事件。被調用的這個方法就是所說的處理事件的接口中的方法。

java規定監視器這個對象的類必須聲明實現相應的接口, 即必須在類體重重寫接口中的所有方法,當事件源發生事件事件時,監視器就會自動調用被類重寫的接口方法。

處理事件示意圖

這裡寫圖片描述

java常用的監聽接口

這裡寫圖片描述

此外還有MouseMotionListener,MouseWheelListener,WindowFocusListener, WindowStateListener,監聽接口。

有時候監聽接口中有很多抽象方法,在實現接口的時候,需要重寫所有的方法,但是我們經常隻會用到其中的一個或兩個,這無疑是一種勞累,多餘。

於是就有瞭適配器類,出於簡化的目的,每個還有多個方法的的監聽器接口都配有一個適配器類,這個類實現瞭接口中的所有方法,但是每個方法沒有做任何事情。

比如:

FocusAdapter,KeyAdapter,MouseAdapter,MouseMotionAdapter, WindowAdapter.

這就提供另一種方法,就是繼承適配器類,重寫其中的需要使用的方法,不必重寫全部的方法,簡單方便。

class A extends WindowAdapter{
   pubilc void windowClosing(WinwEvent e){//重寫WindowAdapter中的方法
        //處理時間代碼
   }
}

Java事件適配器的作用

適配器

其實從接口事件演變爾來的。相當於觸發器,說簡單點,它就是一些動作 。

例如說 鼠標的按下 點擊 還有鍵盤 等等。 適配器 就是實現 接口事件的類 不過 ,不是真的實現 ,隻是空實現 ,沒有具體的方法體。 適配器主要是為瞭方便程序員操作 ,避免瞭代碼的重復性。隻要一個對象或者屬性添加瞭這個適配器, 那麼它就會監視這對象或屬性 。例如說一個按紐。

按紐添加一個MouseAdapter適配器, 並重寫裡面的mouseClicked(MouseEvent e)方法。

public void mouseClicked(MouseEvent e) 
{
System.out.println("你點擊瞭鼠標");
} 

當你點擊按紐時 後臺就是打印 “你點擊瞭鼠標”. 再說明白點 就相當你給按紐 添加瞭一個鼠標對象。 你通過 鼠標 就可以 產生對應的動作!

MouseAdapter實現瞭MouseListener,MouseWheelListener,MouseMotionListener接口,而方法都是為空,你可以重寫mouseClicked(MouseEvent e) 方法從而響應鼠標按鍵在組件上單擊事件,重寫mouseDragged(MouseEvent e)方法從而響應鼠標按鍵在組件上按下並拖動事件等等。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: