Chapter 12 Event-Driven Programming
          1. source object: 事件產(chǎn)生源
          比如一個(gè)按鈕就是單擊按鈕這個(gè)動(dòng)作的產(chǎn)生源,每個(gè)事件都是事件類的一個(gè)實(shí)例,事件類的根類為java.util.EventObject
          EventObject.getSource()返回產(chǎn)生源
          如果某個(gè)控間能夠產(chǎn)生某事件,那么它的任何子類都能夠生成該事件。
          除了javax.swing.event.ListSelectionEvent,其余事件類都包含在java.awt.event包中
          2. Java 的事件處理機(jī)制稱為 delegation-based model,用戶作用于某個(gè)source object上,另一個(gè)對(duì)象捕捉到這個(gè)事件。后者稱為listener,成為listener的兩個(gè)必要條件:
          listener類必須實(shí)現(xiàn)event-listener的接口,Java為每個(gè)GUI事件提供了listener,如
          ActionEvent - ActionListener listener接口都包含了稱為處理機(jī)(handler)的方法處理事件。
          listener類必須由source object注冊(cè),注冊(cè)方法由具體的事件類型決定。如ActionEvent - addActionListener
          例如,要監(jiān)聽JButton類的單擊事件
          ListenerClass listener = new ListenerClass();
          JButton jbt = new JButton("OK");
          jbt.addActionListener(listener);
          如果某個(gè)listener被注冊(cè)了兩次,則相應(yīng)的處理也會(huì)進(jìn)行兩次。
          3. EventObject 類
          getSource()方法獲得產(chǎn)生源
          java.awt.event.ActionEvent 類
          String getActionCommand()方法獲得有關(guān)該動(dòng)作的命令串,如對(duì)于按鈕,返回按鈕的文字
          int getModifier()方法獲得在該動(dòng)作進(jìn)行時(shí)modifier keys(應(yīng)該是alt ctrl shift吧)的情況
          long getWhen()方法返回該動(dòng)作進(jìn)行的時(shí)間,自1970.1.1 00:00:00開始計(jì)時(shí)的毫秒數(shù)

          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2.8 Java notes

          Posted on 2007-04-22 20:23 ZelluX 閱讀(230) 評(píng)論(0)  編輯  收藏 所屬分類: OOP
          2007-02-08 16:47:38
          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 香格里拉县| 南开区| 大田县| 定陶县| 盖州市| 江安县| 秦皇岛市| 浠水县| 民乐县| 舟山市| 双牌县| 柳州市| 黄陵县| 遵义县| 江孜县| 紫阳县| 林芝县| 龙川县| 花垣县| 福安市| 喀喇| 南丹县| 竹山县| 洛隆县| 嘉祥县| 平度市| 湘西| 沐川县| 五寨县| 绿春县| 海宁市| 信宜市| 黔南| 义乌市| 来凤县| 迭部县| 岢岚县| 开鲁县| 栾城县| 闽清县| 固始县|