java監聽用生活小栗子說明


1、先清楚什么是事件?什么是事件源?什么是事件監聽者?

比如登錄某賬戶,輸入密碼和用戶名后,需要單擊“確定”按鈕才能進入,這個單擊的動作事件,這個“確定”按鈕事件源
所以事件是指用戶對組件發生的動作,而事件源則是觸發動作的組件。
事件監聽者是系統接收到所產生的事件,然后根據這些事件作相應的處理。

2、事件監聽這個流程舉個簡單栗子講就是,當一個值改變的時候,有一個事件能監聽到它,知道它改變了,從而做出相應的反應。點擊打開鏈接(這個帖子里講的很詳細,看完我們提出三個疑問並解決下)

  • 為什么需要addListener( Listener listener)

要監聽A的變化,當然要對A發生改變的所在類添加一個監聽者啊 (類似查案了解到A是嫌疑人,但沒有證據,就需要派警察這個監聽者去監視A,在發現A有犯罪動作即證據時拿下他)

  • 為什么listener要放到List里,如 private List<Listener> listeners = new ArrayList<Listener>() ;

監聽不一定只監聽一次,通常事件源這個動作會發生多次,當然需要多次監聽(類似A產生犯罪行為,但是明知道他有更嚴重的犯罪行為會顯現,那就不能只監視他一次就完全抓捕,當然得多監聽幾次多捉到些證據才能全面判刑)

  • 為什么Listener這個接口還會被另一個類實現,作用是什么 (class MyListener implements Listener)

為了在MyListener這個類中具體實現接口里的方法 (在監聽過程中,發現A有犯罪行為1和犯罪行為2,犯罪情節越嚴重,觸犯的法律條目就越多,即接口里的方法在監聽到A的犯罪行為時會給他按法律定罪名,至於具體觸犯了那些條律則是在這個接口方法中告知我們)

3、事件類的種類有哪些?

 動作事件(ActionEvent)、鼠標事件(MouseEvent)、焦點事件(FocusEvent)等。

4、各類事件監聽者的接口有哪些?

處理動作事件的監聽接口(ActionListener)、窗口事件的監聽接口(WindowListener)、焦點事件(FocusListener)等。




注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com