java第13天學習內容回顧——java白皮書第8章

來源:互聯網
上載者:User

標籤:java   事件   處理機制   

java事件處理機制

  1. 事件的相關資訊被封裝在一個事件對象中(一個參數),事件來源將這個時間對象分發到它的所有監視器中,並有監視器對事件作出反應。

  2. AWT時間處理機制

    1. 監聽器物件建構出一個執行個體,這個執行個體實現了監聽器介面

    2. 事件來源是一個對象執行個體,這個執行個體可以註冊(添加)監聽器,並發送事件(事件發送到監聽器)

    3. 事件發生時,事件來源將發送到所有被添加進事件來源的監視器

    4. 監視器利用被發送過來的事件資訊決定如何相應

3.一個事件來源可以對應多個監視器,監聽器介面ActionListener介面,這個介面中只包含一個方法

void actionPerformed(ActionEvent event) 參數是被發送來的事件,根據事件類型不同會有不同的類型。

4.關於建立button:

JButton  x = new JButton(名字,映像);參數可以使1個也可以是兩個

5.使用add方法將button加入畫布

6.架構的構造器:a.構建畫布 b.添加到畫布的控制項  c.構建監聽器  d.將控制項與監聽器連結  e.將畫布添加到架構

7.會經常遇到監聽器需要對其他對象進行操作的情況,一種解決方案是設此監視器類作為該對象類的內部類,並且作者是這麼建議的

8.使用方法event(這個是被發送的時間).getSource()得到發生事件的對象引用,.getActionCommand()方法返回與這個動作事件相關的命令字串

9.建立包含一個方法的監聽器也可以這樣實現:EventHandler.create(ActionListener.class, frame(必須是一個公用類),"loadDate","source.text") 詳述與P299 與反射機制有關

10.改變觀感有兩種方式:

a.靜態方式:修改特定檔案中的內容,只有在swing啟動時會被設定一次

b.動態方式: 使用方法UIManager.setLookAndFeel(觀感名字),找目標風格的觀感;SwingUtilities.updateComponentTreeUI(架構.this(防止this被使用錯誤))重新整理全部組件。

詳述與P302;

11.關於java中的動作

“動作” 是監視器的擴充,它是基於監視器基礎之上的,添加了圖片,解釋資訊等功能,詳述與P306

12.MouseEvent的對象執行個體成為滑鼠事件,詳述與P312

13.方法 getModifiersEx方法可以得到滑鼠事件中的滑鼠按鍵和鍵盤飾符;在WIN32下 BUTTON3_DOWN_MASK可以檢測滑鼠右鍵這個時間,相關掩碼的詳述在p313

14.關於滑鼠事件有兩個獨立的借口MouseListener介面和MouseMotionListener介面,後者負責滑鼠的移動和拖動。

15.Cursor類中存在一個方法getPredefinedCursor方法,利用專用參數可以設定滑鼠形狀,詳述與P313

16.AWT事件類別的繼承結構圖 詳述與p319

17.事件可以分為兩類:語義事件和低級事件,關於這兩種事件包含的事件類別和相對應的事件介面以及事件適配器詳述於p319~p320

18.關於適配器:每一個含有多個方法的AWT監視器介面,都配有一個自己的適配器,為了防止用於定義時的麻煩,可以設計一個繼承適配器的類,然後只需要定義需要的介面方法就好,不將介面所有方法重新定義一遍。

19.監聽器,頻繁出現匿名局部類

20.對表單(架構)的監聽,被發送的事件類型為WindowEvent,監聽器介面為WindowsListener,使用(架構).addWindows(){匿名局部類},添加關於架構(表單)的事件監聽器並串連。詳述於p305

21.使用方法getNewState方法得到表單的狀態

22.一個監聽器可以有多個事件來源(例如滑鼠點擊事件和鍵盤按鍵組合時間),swing包中提供了一個Action介面,它擴充與ActionListener介面。Action介面中除了actionPerformed方法,都在AbstractAction類中實現,所以可以使用類繼承AbstractAction類再實現actionPerformed

23.可以根據“動作”構建按鈕 JButton(動作變數執行個體名);

24.KeyStroke類封裝了 對 “鍵” 的說明,構建這個類的對象執行個體,需要使用它的靜態方法 .getKeyStroke方法,詳述於p309

25.關於鍵盤指令與監視器的連結,詳述於p311,:兩個表,imap 包含鍵指令和它的id,amap包含id和動作(監視器), Input imap = .getInputmap("按鍵組合描述"), input.put(放置鍵能與id對),

.getActionMap()得到 amap,   .put(放置id與動作對);


本文出自 “developing_Rookie” 部落格,請務必保留此出處http://8942041.blog.51cto.com/8932041/1634786

java第13天學習內容回顧——java白皮書第8章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.