點擊查看:2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機(jī)等級考試二級Java入門教程第十三章匯總
13.1 基于Windows的Java程序
在我們研究編寫基于Window的特定應(yīng)用程序之前,需要知道這類程序是如何結(jié)構(gòu)化的,以及它們是如何操作的。我們在前面編制的控制臺程序與基于Window的Java程序之間有著根木的區(qū)別。在啟動一個控制臺程序時,程序代碼將決定事件的執(zhí)行順序,通常每個事件都是事先定義的。在需要的時候輸入數(shù)據(jù),在希望得到結(jié)果時,程序?qū)⑤敵鰯?shù)據(jù)。對于任意給定的時刻,通常知道下一條將要執(zhí)行的代碼。
而基于Windows的應(yīng)用程序或小應(yīng)用程序的執(zhí)行則完全不同。程序的操作山你對GUI的操作行為驅(qū)動。使用鼠標(biāo)或者通過鍵盤來選擇菜單項或者按鈕以引發(fā)程序內(nèi)的特定操作行為。在任意給定的時刻,你可以使用全部可能的交互方式,其中的每個交互操作都會引發(fā)不同的程序行為。在進(jìn)行操作之前,你并不知道下一步將要執(zhí)行哪條程序代碼。
事件驅(qū)動程序
當(dāng)你對基于Windows的程序或小應(yīng)用程序使用GUI時,點擊菜單項或一個按鈕,移動鼠標(biāo)等等這些操作行為都首先由操作系統(tǒng)鑒別。對于每個操作行為,操作系統(tǒng)將決定在你的計算機(jī)上前運行哪個程序?qū)λM(jìn)行處理,并且把這個操作行為傳遞到那個程序。當(dāng)你點擊鼠標(biāo)按鈕時,操作系統(tǒng)注冊它并記錄屏幕上鼠標(biāo)光標(biāo)的位置、然后確定哪個應(yīng)用程序控制著按下鼠標(biāo)鍵時光標(biāo)所在的那個窗口,并且通知程序鼠標(biāo)鍵被按下程序從操作系統(tǒng)按收到操作行為的信號被稱為事件(event)。
一個程序并不必應(yīng)答所有的特殊事件。例如,如果你只移動鼠標(biāo),程序不必包含任何代碼對這個操作行為做出回應(yīng)。如果你不響應(yīng),事件就會被無聲無息地刪除。程序所能夠識別的每個事件都有一個或多個方法與之關(guān)聯(lián),當(dāng)事件發(fā)生時,比如,你點擊了一個菜單項,相應(yīng)地方法就被自動地調(diào)用,基于Windows的程序被稱為事件驅(qū)動程序(event-drivenprogram ) ,這是因為利用GUI驅(qū)動交互的結(jié)果將產(chǎn)生事件序列,而事件又將決定程序中所進(jìn)行的操作。
事件并不僅限于基于Windwos的應(yīng)用程序,它是一個相對普通的概念。大多數(shù)控制程序或監(jiān)控程序都是由事件驅(qū)動的。任何程序外部都發(fā)生的事情,比如關(guān)閉一個開關(guān)或預(yù)置一個要達(dá)到的溫度都可以注冊一事件。在Java中哦甚至你可以在程序中創(chuàng)建事件并把它發(fā)向代碼的其他部分,然而,我們將打算把注意力集中在你作為用戶與程序交互時可能發(fā)生的事件上。
相關(guān)推薦:
2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |