Java開發中的事件驅動模型執行個體詳解

來源:互聯網
上載者:User

或許每個軟體從業者都有從學習控制台應用程式到學習可視化編程的轉變過程,控制台應用程式的優點在於可以方便的練習某個語言的文法和開發習慣(如.net和java),而可視化編程的學習又可以非常方便開發出各類人機對話介面(HMI)。可視化編程或許是一個初學者開始對軟體感興趣的開始,也可能是一個軟體學習的裡程碑點,因為我們可以使用各類軟體整合式開發環境(IDE)方便的在現成的介面視窗上拖放各類組件(Component),這類組件包括我們常見的按鈕(Button),選項按鈕(Radio Button),複選框等(Checkbox)。這樣的拖放式開發方式不但方便,而且視窗會立竿見影的顯示在我們的面前,這對於一個軟體初學者而言或許是一件非常有成就感的事情。

但是很多軟體學習者在學習可視化開發的過程中,只是非常表面的來理解可視化編程,他們可能認為能夠使用拖放方式完成一個介面就非常值得稱道,但是很少有人會認真的去理解程式設計語言對於可視化編程組件的支援和整合,在Softworks軟體人才培訓中心的兩年教學過程,我深刻的感受到了這一點,因此下文將會結合我的教學經驗來講解可視化編程過程中最為關鍵的“事件驅動模型”。

1.什麼是事件驅動模型?

在講解事件驅動模型之前,我們現在看看事件驅動模型的三大要素:

·事件來源:能夠接收外來事件的源體。

·接聽程式:能夠接收事件來源通知的對象。

·事件處理常式:用於處理事件的對象。

學員應該要理解任何基於事件驅動模型的開發技術都包含以上三大要素,不管是.net還是java技術,甚至是以前我們使用的Visual Basic和Delphi語言都有基於以上三大要素的事件驅動模型開發流程。

現在我們來看一個生活中的樣本,如果有一天你走在路上一不小心被天上掉下來的花瓶砸到了,並且暈死了過去。那麼整個過程其實就是一個事件處理流程,而且我們可以非常方便的分析出剛才所提到的事件驅動模型中的三大要素。

1.被砸暈的這個人其實就是事件來源,因為他是能夠接受到外部的事件的源體。

2.接聽程式就是這個人的大腦神經,因為它會感知到疼痛。

3.事件處理就是這個人暈死了過去。

由於事件驅動模型在我們日常生活中是無處不在的,因此Java和其他的程式設計語言都將這一過程運用到了可視化編程中了。

2.Java程式設計語言中的事件驅動模型

在Java編程技術中,最常用的可視化編程當屬Java Swing技術,Java Swing為開發人員提供了很多現成的組件,如:按鈕(JButton),選項按鈕(JRadioButton)等。為了系統管理使用者與組成程式圖形化使用者介面的組件間的互動,必須理解在Java中如何處理事件。

假設使用者單擊了程式圖形化使用者介面中的一個按鈕,其實該按鈕就是這個事件的源(可以引發事件的物體)。所有的Java Swing對象都有感知自己被操作的能力,因此JButton按鈕也具有這樣能力。一個事件通常必須有一個來源物件,這裡就是JButton對象。當單擊按鈕時,JButton組件類會產生一個用於存放該事件參數的ActionEvent的對象,該對象包含了事件及事件來源的資訊。圖1-1顯示了這種機制。

圖 1-1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.