目前在一些java應用程序的GUI測試工具,可以提供捕捉用戶操作的能力并在代碼被修改之后能夠自動回放用戶的操作。文章將分析Java的事件處理模型及其原理,介紹了基于事件源識別的捕捉/回放所需要了解的要害技術并給出了兩種實現方式。
1、 Java事件介紹
1.1什么是事件
首先我們往返答"什么是事件"這一基本問題。其實事件本身就是一個抽象的概念,他是表現另一對象狀態變化的對象。在面向對象的程序設計中,事件消息是對象間通信的基本方式。
在圖形用戶界面程序中,GUI組件對象根據用戶的交互產生各種類型的事件消息,這些事件消息由應用程序的事件處理代碼捕捉,在進行相應的處理后驅動消息響應對象做出反應。我們在GUI上進行叫化操作的時候,在點擊某個可響應的對象時如,按鈕,菜單,我們都會期待某個事件的發生。
其實圍繞GUI的所有活動都會發生事件,但Java事件處理機制卻可以讓您挑選出您需要處理的事件。事件在Java中和其他對象基本是一樣的,但有一點不同的是,事件是由系統自動生成自動傳遞到適當的事件處理程序。
1.2Java事件處理的演變
當Java的開發者開始解決用Java創建應用程序這一問題時,他們就熟悉到Java事件模型的必要性。下面對Java事件處理的發展做簡要的概括。
在JDK1.0的版本采用用的事件模型,提供了基本的事件處理功能。這是一種包容模型,所有事件都封裝在單一的類Event中,所有事件對象都由單一的方法 handleEvent來處理,這些定義都在Component類中。
為此,只有Component類的子類才能充當事件處理程序,事件處理傳遞到組件層次結構,假如目標組件不能完全處理事件,事件被傳遞到目標組件的容器。
JDK1.1是編程界的一次革命,修正了前面版本的一些缺陷,同時增加了一些重要的新功能如,RMI、JNI、JDBC、JavaBean。在事件模型上基本框架完全重寫,并從Java1.0模型遷移到委托事件模型,在委托模型中事件源生成事件,然后事件處理委托給另一段代碼。
從JDK1.2開始,引入了Swing包事件處理模型功能更強大,更加可定制GUI組件與他們相關聯的支持類。在后面的版本基本保持了整個事件模型,但加入了一些附加事件類和接口。在1.3版本開始引入Rebot類,它能模擬鼠標和鍵盤事件,并用于自動化測試、自動運行演示、以及其他要求鼠標和鍵盤控制的應用程序。
我們把JDK1.0事件處理模型成為Java1.0事件模型,而從jdk1.1后的版本事件處理模型稱為Java 2事件處理模型。
目前在一些Java應用程序的GUI測試工具,可以提供捕捉用戶操作的能力并在代碼被修改之后能夠自動回放用戶的操作。文章將分析Java的事件處理模型及其原理,介紹了基于事件源識別的捕捉/回放所需要了解的要害技術并給出了兩種實現方式。
1、 Java事件介紹
1.1什么是事件
首先我們往返答"什么是事件"這一基本問題。其實事件本身就是一個抽象的概念,他是表現另一對象狀態變化的對象。在面向對象的程序設計中,事件消息是對象間通信的基本方式。
在圖形用戶界面程序中,GUI組件對象根據用戶的交互產生各種類型的事件消息,這些事件消息由應用程序的事件處理代碼捕捉,在進行相應的處理后驅動消息響應對象做出反應。我們在GUI上進行叫化操作的時候,在點擊某個可響應的對象時如,按鈕,菜單,我們都會期待某個事件的發生。
其實圍繞GUI的所有活動都會發生事件,但Java事件處理機制卻可以讓您挑選出您需要處理的事件。事件在Java中和其他對象基本是一樣的,但有一點不同的是,事件是由系統自動生成自動傳遞到適當的事件處理程序。
1.2Java事件處理的演變
當Java的開發者開始解決用Java創建應用程序這一問題時,他們就熟悉到Java事件模型的必要性。下面對Java事件處理的發展做簡要的概括。
在JDK1.0的版本采用用的事件模型,提供了基本的事件處理功能。這是一種包容模型,所有事件都封裝在單一的類Event中,所有事件對象都由單一的方法 handleEvent來處理,這些定義都在Component類中。
為此,只有Component類的子類才能充當事件處理程序,事件處理傳遞到組件層次結構,假如目標組件不能完全處理事件,事件被傳遞到目標組件的容器。
JDK1.1是編程界的一次革命,修正了前面版本的一些缺陷,同時增加了一些重要的新功能如,RMI、JNI、JDBC、JavaBean。在事件模型上基本框架完全重寫,并從Java1.0模型遷移到委托事件模型,在委托模型中事件源生成事件,然后事件處理委托給另一段代碼。
從JDK1.2開始,引入了Swing包事件處理模型功能更強大,更加可定制GUI組件與他們相關聯的支持類。在后面的版本基本保持了整個事件模型,但加入了一些附加事件類和接口。在1.3版本開始引入Rebot類,它能模擬鼠標和鍵盤事件,并用于自動化測試、自動運行演示、以及其他要求鼠標和鍵盤控制的應用程序。
我們把JDK1.0事件處理模型成為Java1.0事件模型,而從jdk1.1后的版本事件處理模型稱為Java 2事件處理模型。
目前在一些Java應用程序的GUI測試工具,可以提供捕捉用戶操作的能力并在代碼被修改之后能夠自動回放用戶的操作。文章將分析Java的事件處理模型及其原理,介紹了基于事件源識別的捕捉/回放所需要了解的要害技術并給出了兩種實現方式。
1、 Java事件介紹
1.1什么是事件
首先我們往返答"什么是事件"這一基本問題。其實事件本身就是一個抽象的概念,他是表現另一對象狀態變化的對象。在面向對象的程序設計中,事件消息是對象間通信的基本方式。
在圖形用戶界面程序中,GUI組件對象根據用戶的交互產生各種類型的事件消息,這些事件消息由應用程序的事件處理代碼捕捉,在進行相應的處理后驅動消息響應對象做出反應。我們在GUI上進行叫化操作的時候,在點擊某個可響應的對象時如,按鈕,菜單,我們都會期待某個事件的發生。
其實圍繞GUI的所有活動都會發生事件,但Java事件處理機制卻可以讓您挑選出您需要處理的事件。事件在Java中和其他對象基本是一樣的,但有一點不同的是,事件是由系統自動生成自動傳遞到適當的事件處理程序。
1.2Java事件處理的演變
當Java的開發者開始解決用Java創建應用程序這一問題時,他們就熟悉到Java事件模型的必要性。下面對Java事件處理的發展做簡要的概括。
在JDK1.0的版本采用用的事件模型,提供了基本的事件處理功能。這是一種包容模型,所有事件都封裝在單一的類Event中,所有事件對象都由單一的方法 handleEvent來處理,這些定義都在Component類中。
為此,只有Component類的子類才能充當事件處理程序,事件處理傳遞到組件層次結構,假如目標組件不能完全處理事件,事件被傳遞到目標組件的容器。
JDK1.1是編程界的一次革命,修正了前面版本的一些缺陷,同時增加了一些重要的新功能如,RMI、JNI、JDBC、JavaBean。在事件模型上基本框架完全重寫,并從Java1.0模型遷移到委托事件模型,在委托模型中事件源生成事件,然后事件處理委托給另一段代碼。
從JDK1.2開始,引入了Swing包事件處理模型功能更強大,更加可定制GUI組件與他們相關聯的支持類。在后面的版本基本保持了整個事件模型,但加入了一些附加事件類和接口。在1.3版本開始引入Rebot類,它能模擬鼠標和鍵盤事件,并用于自動化測試、自動運行演示、以及其他要求鼠標和鍵盤控制的應用程序。
我們把JDK1.0事件處理模型成為Java1.0事件模型,而從jdk1.1后的版本事件處理模型稱為Java 2事件處理模型。
新聞熱點
疑難解答