資源描述:
《GUI用戶圖形界面》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、GUI用戶圖形界面GUI含義全稱為:GraphicalUserInterface,用戶圖形界面,里面提供一些用來操作的窗口、菜單、按鈕、工具欄和其他屏幕元素。Java里有兩個包為GUI設計提供功能:AWT和Swing,AWT是早期版本,不能實現(xiàn)全部GUI設計功能,Swing對其進行改進,不但包含原來所有的部件,還具有更加豐富的部件和功能,AWT為Swing的基礎。注意import語句引入。例子:創(chuàng)建一個窗口對象,向里面添加組件。演示TestFrameGUI中的眾多組件可以分為兩類:基本組件:按鈕、文本框、復選框等,這些都是java.awt.Compon
2、ent類或者其子類。容器:是一種特殊的組件,能夠容納其他組件,如窗口、對話框等,這些是java.awt.Container類或者其子類。Contain類是Component類的子類。演示5秒鐘之后自動關閉窗口。事件處理當用戶對組件進行操作(例如拖動、按下按鈕等),這時就等于對應用程序進行各種操作。反過來,應用程序也通過GUI來收集用戶對其的操作信息。當按下按鈕對象,屬于一個事件的發(fā)生,假如想要規(guī)定該事件發(fā)生會執(zhí)行某種功能,則要編寫相應的事件代碼。事件處理機制事件:用戶對組件的一個操作。事件源:發(fā)生事件的組件就是事件源。事件處理器:負責處理事件的方法。1
3、、處理事件的方法是類中的成員方法,在事件監(jiān)聽器中,監(jiān)聽器必須先與事件源相關聯(lián),這樣在事件發(fā)生后,監(jiān)聽器中的代碼才能執(zhí)行。相關聯(lián)的這步叫做事件監(jiān)聽器的注冊。2、外部動作作用到事件源。3、事件源產(chǎn)生一個事件對象。對象中存在事件的信息4、把事件對象傳遞給事件處理器,執(zhí)行代碼。事件分類按照產(chǎn)生事件的物理操作和GUI組件的表現(xiàn)效果可以分為:MouseEvent:該類對應著鼠標事件,鼠標按下、點擊(按下后釋放)WindowsEvent:該類對應窗口事件,包括點擊關閉按鈕,最小化最大化等。ActionEvent:動作事件,并不代表一個具體動作,如按下按鈕,菜單被單擊
4、等都可以看做該類事件。(可以理解為一個動作導致某個組件本身最基本的作用發(fā)生了,這就是ActionEvent事件)事件監(jiān)聽器一個事件監(jiān)聽器對象負責處理一類事件。一類事件的每一種發(fā)生情況,分別有監(jiān)聽器對象中的一個方法來具體處理。事件源和事件監(jiān)聽器對象中進行約束的接口類被稱為事件監(jiān)聽器接口。事件監(jiān)聽器接口類名稱與事件類名稱是相對應的。(MouseEvent—MouseListener)在監(jiān)聽器接口中有很多方法,例如鼠標在組件中單擊等方法,里面接受一個鼠標事件類的對象,假如想要在鼠標事件對象產(chǎn)生后執(zhí)行某功能則可以定義一個類來實現(xiàn)鼠標事件監(jiān)聽器接口中的某個方法,
5、然后下面寫入實現(xiàn)功能的代碼處理事件例子:實現(xiàn)關閉窗口的事件處理。假如像上面一樣定義一個窗口。讓其具有關閉窗口的功能。(這時注意對窗口關閉事件的代碼編寫)注意:1、怎樣實現(xiàn)窗口關閉的代碼,代碼該寫在哪里2、怎樣把事件源(窗口)聯(lián)系到事件監(jiān)聽器(或者接口)3、事件監(jiān)聽器的里面的代碼又是怎樣執(zhí)行把窗口關閉的過程4、要用到事件監(jiān)聽器就要用到事件監(jiān)聽器接口,里面必須把接口的方法(里面有對窗口關閉的方法)都給實現(xiàn),才能調(diào)用監(jiān)聽器接口中的代碼(要實現(xiàn)接口中的方法,全部),所以可以定義一個類,讓這個類實現(xiàn)接口中所有的方法,這樣就可以在接口的關閉窗口方法中來填寫實際的代
6、碼來讓其執(zhí)行功能了!演示窗口關閉事件適配器剛才的例子可以看出,要想要事件實現(xiàn)代碼,那么先要注冊事件監(jiān)聽器,而且還有事件監(jiān)聽器接口與之相關聯(lián),那么實現(xiàn)功能的方法在事件監(jiān)聽器接口里.所以要定義一個類來實現(xiàn)事件監(jiān)聽器接口,這樣才實現(xiàn)功能代碼.JDK中提供了大多數(shù)事件監(jiān)聽器接口的最簡單的實現(xiàn)類,這些稱之為事件適配器(Adapter).直接用事件適配器來處理事件,可以簡化事件監(jiān)聽器的編寫.事件適配器是與事件監(jiān)聽器接口相對應的假如再想實現(xiàn)事件監(jiān)聽器接口,那么可以定義一個類去繼承該接口對應的事件適配器,這樣就可以實現(xiàn)接口了。但是畢竟事件適配器只是簡單的實現(xiàn)接口,假如
7、需要一些其他的方法中的代碼,那么可讓一個類不但繼承適配器類,同時再定義那些其他方法來把原來適配器的這些方法覆蓋掉,這樣就能改變原來適配器定義的方法內(nèi)容了。上一個例子,點擊關閉按鈕就能退出.注意:定義一個類必須要實現(xiàn)事件監(jiān)聽器接口中的所有方法,但是既然有了事件適配器,而且適配器正好實現(xiàn)了接口(Window)中的7個方法(里面雖然沒有代碼,但是也叫實現(xiàn)),所以這時可以把新定義的那個類讓其繼承適配器類,其他6個方法都不用改,直接覆蓋適配器類中那個windowClosing方法(在里面寫入讓其退出的方法就可以)WindowAdapter,接收窗口事件的抽象適配
8、器類。此類中的方法為空.此類存在的目的是方便創(chuàng)建偵聽器對象.所以自定義一個類讓其繼承Windo