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)航:
           
          主站蜘蛛池模板: 普兰店市| 大冶市| 化州市| 鹤岗市| 商河县| 深泽县| 年辖:市辖区| 梨树县| 祁阳县| 琼结县| 新绛县| 祁东县| 炎陵县| 嘉黎县| 丹凤县| 同仁县| 浦城县| 福州市| 崇左市| 花垣县| 长汀县| 长治县| 都安| 罗江县| 阳山县| 榆树市| 洛川县| 浮梁县| 鹿泉市| 凯里市| 桐乡市| 彝良县| 旌德县| 淳化县| 法库县| 雷山县| 斗六市| 吴江市| 上栗县| 垫江县| 泸州市|