freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第16講圖形用戶界面㈡(編輯修改稿)

2024-11-22 13:23 本頁面
 

【文章內(nèi)容簡介】 繪制一個圖形用戶界面,但是還沒有編寫用戶交互的代碼。下面來認(rèn)識一下 Java的事件處理機制。 ? 每發(fā)生一個事件,程序都需要作出相應(yīng)的響應(yīng),這稱為事件處理。 委派事件模型 ? 事件處理機制的思想是:可能產(chǎn)生事件的對象(事件源,如窗口,按鈕等)收到用戶發(fā)出的操作指令后產(chǎn)生相應(yīng)的事件,然后將這些事件分別發(fā)送給不同的監(jiān)聽器,由監(jiān)聽器來處理這些事件,并將處理結(jié)果返回。整個過程中,監(jiān)聽器簡單的等待,直到它收到一個事件。這種事件處理機制使得處理事件的應(yīng)用程序邏輯與生成那些事件的界面邏輯(容器或者組件)彼此分離,相互獨立存在。 import .*。 import .*。 class Ex9_13 extends Frame implements ActionListener{ static Ex9_13 frm=new Ex9_13()。 static Button btn=new Button(將窗口變成黃色 )。 public static void main(String args[]){ (frm)。//把 frm向 btn注冊,讓 frm監(jiān)聽事件 (new FlowLayout())。 (Action Event)。 (200,150)。 (btn)。 (true)。 } public void actionPerformed(ActionEvent e){ ()。 } } ?程序分析: 事件源:也就是事件發(fā)生的場所,通常就是各個組件。如本例的按鈕對象。 事件:用戶對界面操作在 Java語言上的描述。它由用戶和界面中的組件交換而產(chǎn)生,比如移動鼠標(biāo)、點擊鼠標(biāo)按鈕和按下鍵盤鍵等都可以引發(fā)事件。本例中,當(dāng)按下按鈕時,就產(chǎn)生了一個事件 ActionEvent。 監(jiān)聽: Java使用一組接口來實現(xiàn)對事件源的監(jiān)聽。本例中,為了使 frm窗口對象能夠監(jiān)聽按鈕觸發(fā)的事件,讓 Ex9_13對象實現(xiàn)事件處理的接口。 自身實現(xiàn)監(jiān)聽器示例 import .*。 import .*。 class Ex9_14{ static Frame frm=new Frame(Action Event)。 static Button btn=new Button(將窗口變成黃色 )。 public static void main(String args[]){ (new ActLis())。 (new FlowLayout())。 (Action Event)。 (200,150)。 (btn)。 (true)。 } //定義內(nèi)部類 ActLis,并實現(xiàn) ActionListener接口 static class ActLis implements ActionListener{ public void actionPerformed(ActionEvent e) {//事件發(fā)生的處理操作 ()。 } } } ?程序分析: 上個例子中,選擇了窗口作為監(jiān)聽者。事實上也可以自定義一個類來實現(xiàn) ActionListener接口,再把此類產(chǎn)生的對象作為監(jiān)聽。通常把實現(xiàn)接口的類定義在主類里,自己成為它的內(nèi)部類。 內(nèi)部類實現(xiàn)監(jiān)聽器示例 事件處理類 ? Java把事件類大致分成兩種 : 語義事件 (semantic events)與底層事件 (lowlever events)( 指屏幕上可視化組件的低級輸入或窗口系統(tǒng)事件 ) 。 其中語義事件直接繼承自 AWTEvent, 如 ActionEvent、AdjustmentEvent與 ComponentEvent等等 , 底層事件則是繼承自 ComponentEvent類 , 如 ContainerEvent、FocusEvent、 WindowEvent與 KeyEvent等等。 ? 下表 提供了常用的事件類、事件監(jiān)聽接口與事件監(jiān)聽接口提供的方法。 ActionEvent事件類的處理 ? ActionEvent事件對應(yīng)于組件的主要用途。點擊按鈕,選擇菜單項目,或向單行文本框輸入字符串并敲擊 Enter鍵時,都會發(fā)生 ActionEvent事件。例: Ex9_15 ?程序分析:點擊前面兩個按鈕,文本框?qū)@示相應(yīng)的信息,點擊退出按鈕,程序?qū)⒔Y(jié)束。類 Ex9_15繼承自 Frame, frm對象是按鈕組件的容器。當(dāng)按下按鈕時,將會發(fā)生 ActionEvent類事件,按鈕本身不作任何處理,這時候就會把事件向上傳遞,直到窗口對象 frm監(jiān)聽為止。當(dāng) frm對象監(jiān)聽到按鈕事件后,就會運行 ActionListener接口提供的方法 actionPerformed(ActionEvent e)。由于 ActionEvent類繼承自 EventObject類,所以可以使用EventObject類提供的方法 getSource()來查看是哪個對象激活的事件。 TextEvent類
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1