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。
推薦閱讀:
- java中addMouseListener()方法的使用
- Java 入門圖形用戶界面設計之事件處理下
- Java中關於MouseWheelListener的鼠標滾輪事件詳解
- 基於Java GUI 事件處理方式
- JAVA GUI基礎與MouseListener用法