java 事件處理器


一.GUI的設計步驟

1.建立用戶界面
  設計一個頂層容器對象,如JFrame
  確定布局,增加組件 
  改變組件顏色、字體

2.增加事件處理 
  編寫事件監聽器類(內含事件處理方法)
  在事件源上注冊事件監聽器對象

3.顯示用戶界面

 

 

二.事件處理機制的幾個重要概念

1.事件 
  事件是用戶在界面上的一個操作(通常使用各種輸入設備,如:鼠標、鍵盤等來完成)。 
  當一個事件發生時,該事件用一個事件對象來表示。事件對象有對應的事件類。不同的事件類描述不同類型的用戶動作。事件類包含在java.awt.event和javax.swing.event包中。

2.事件源
  產生事件的組件叫事件源。在一個按鈕上單擊鼠標時,該按鈕就是事件源,會產生一個ActionEvent類型的事件。

3.事件處理器(事件處理方法) 
  事件處理器是一個接收事件對象並進行相應處理的方法。事件處理器包含在一個類中,這個類的對象負責檢查事件是否發生,若發生就激活事件處理器進行處理。

 

4.事件監聽器類
  包含事件處理器,並負責檢查事件是否發生,若發生就激活事件處理器進行處理的類叫做事件監聽器類。其實例就是事件監聽器對象。事件監聽器類必須實現事件監聽器接口或繼承事件監聽器適配器類。
  事件監聽器接口定義了處理事件必須實現的方法。事件監聽器適配器類是對事件監聽器接口的簡單實現。目的是為了減少編程的工作量。
  事件監聽器接口和事件監聽器適配器類也都包含在java.awt.event和javax.swing.event包中。

5.注冊事件監聽器
  為了能夠讓事件監聽器檢查某個組件(事件源)是否發生了某些事件,並且在發生時激活事件處理器進行相應的處理,必須在事件源上注冊事件監聽器。這是通過使用事件源組件的以下方法來完成的:
  addXxxListener(事件監聽器對象)
  Xxx對應相應的事件類。

 

三.事件處理機制——委托事件處理

1.

2.事件處理實例:關閉窗口

 

 

四.監聽器類——MyWindowListener.java

復制代碼
 
          
復制代碼

 

五.圖形用戶界面——TestFrame.java

復制代碼
 
          
復制代碼

 

六.再論事件處理機制

1.事件、事件監聽器接口、事件監聽器類:
  每一類事件有一個相應的事件監聽器接口,該接口定義了接收和處理事件的抽象方法。實現該接口的類,就是監聽器類。其對象可作為監聽器對象向相應的組件注冊。 
  事件的類名通常為:XxxEvent 
  對應的事件監聽器接口名通常為:XxxListener
  一個監聽器接口定義了一種以上的抽象事件處理方法(事件處理器)。
  事件監聽器類實現事件監聽器接口,其類名可以由我們自己取。事件監聽器類需要我們自己編寫。

2.一個組件可以注冊一個或多個監聽器對象,事件對象只向已注冊的監聽器對象報告事件的發生。

 

七.事件監聽器類的編寫要點

事件監聽器類應該包括以下兩部分內容:
1.在事件監聽器類的聲明中指定要實現的監聽器接口名,如:
  public class MyListener implements XxxListener { 
  … }

2.實現監聽器接口中的事件處理方法,如:
  public void 事件處理方法名(XxxEvent e) { 
  ...//處理某個事件的代碼... } 
  然后,在一個或多個組件上可以進行監聽器類的實例的注冊。如:組件對象.addXxxListener(MyListener對象); 

 

 八.事件處理的編程方法總結

要處理某GUI組件(假定為c)上發生的XXXEvent事件,其通用的編程方法是:
  編寫一個監聽器類,該監聽器類實現了XXXListener接口,(假定監聽器類的類名為MyXXXListener);
  在MyXXXListener中的相應事件處理方法中編寫事件處理代碼(事件處理器)。
  調用GUI組件c的addXXXListener()方法注冊事件監聽器對象。 c.addXXXListener(new MyXXXListener());
  要處理C上的多種事件,可以編寫多個相應的監聽器類,進行多次注冊。也可以編寫一個實現了多個監聽器接口的類,進行一次注冊。

 

九.圖形用戶界面編程技巧

  通常將圖形組件作為類的成員;

  將事件監聽器類寫成GUI類的內部類,方便對組件進行訪問。

 

十.監聽器適配器類

1.JAVA中提供了大部分監聽器接口的適配器類,其目的是簡化事件監聽器類的編寫,監聽器適配器類是對事件監聽器接口的簡單實現(方法體為空),這樣用戶可以把自己的監聽器類聲明為適配器類的子類,從而可以不管其他方法,只需重寫需要的方法。 對應於監聽器接口XxxListener的適配器接口的類名為XxxAdapter。

2.

 

 

十一.事件、接口、適配器與事件處理方法對應表

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM