十、圖形界面編程_第1頁(yè)
十、圖形界面編程_第2頁(yè)
十、圖形界面編程_第3頁(yè)
十、圖形界面編程_第4頁(yè)
十、圖形界面編程_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Java圖形界面編程圖形用戶界面概述組件是面向?qū)ο笏枷牒同F(xiàn)代軟件工程發(fā)展的產(chǎn)物,它集成封裝一定的功能模塊,可以通過(guò)預(yù)定義的接口操作、訪問(wèn),具有良好的可重用性,在目前的軟件行業(yè)中具有十分重要的地位。容器的作用是容納組件或者容器,可以使用容器容納一般的組件以完成特定的需要。最普通的容器就是窗口,而窗口中的按鈕,菜單等,都是其中的組件。在Java中,單獨(dú)的組件不能單獨(dú)構(gòu)建應(yīng)用程序,只有使用容器,才能使組件具有的功能在應(yīng)用程序中發(fā)揮作用。

AWT與SwingJava語(yǔ)言中,用來(lái)進(jìn)行圖形界面設(shè)計(jì)的包有兩個(gè),一個(gè)是抽象窗口工具包(AWT),另一個(gè)是Swing組件包。從Java2開(kāi)始,Sun公司將AWT舍棄,主要對(duì)Swing進(jìn)行改進(jìn)。Swing是Java的基礎(chǔ)類(lèi)(JFC),相對(duì)于AWT,Swing有更好的適應(yīng)性,更高的執(zhí)行效率。

javax.swing:提供了一種輕量級(jí)的組件集,使應(yīng)用程序最大限度的實(shí)現(xiàn)跨平臺(tái)。在Swing包中,提供了大量的接口與類(lèi),用以實(shí)現(xiàn)圖形界面的各種功能。

javax.swing.border:提供專(zhuān)門(mén)的接口與類(lèi)進(jìn)行邊界的繪制。

javax.swing.colorchooser:實(shí)現(xiàn)JcolorChooser顏色選擇的功能。

javax.swing.event:提供對(duì)各種事件的支持。AWT與Swingjavax.swing.filechooser:實(shí)現(xiàn)文件選擇過(guò)濾功能。javax.swing.plaf:提供大量的類(lèi)及接口,建立起圖形組件平臺(tái)。javax.swing.plaf.basic:提供對(duì)象建立最基本的圖形組件平臺(tái)(look-and-feel)。javax.swing.plaf.metal:用于相應(yīng)的LookAndFeel類(lèi)(UIManager.setLookAndFeel(new

XXXLookAndFeel()))的安裝。javax.swing.plaf.multi:提供對(duì)符合用戶界面的組合。javax.swing.table

提供對(duì)圖表的支持。javax.swing.text:提供對(duì)文本的支持。javax.swing.text.html:提供了對(duì)HTMLEditorKit類(lèi)的支持,主要使HTML文檔的建立編輯,修改等功能。javax.swing.text.html.parser:默認(rèn)的HTML分析器。javax.swing.text.rtf:提供對(duì)RTF格式文件的支持。javax.swing.tree提供對(duì)樹(shù)的支持。javax.swing.undo:提供對(duì)操作的回滾。10.2編寫(xiě)Applet程序Java應(yīng)用程序可以分為兩類(lèi):JavaApplication和JavaApplet。applet被賦予了嚴(yán)格的限制,Java執(zhí)行期安全系統(tǒng)會(huì)時(shí)刻監(jiān)控其行為,以保證其對(duì)客戶端系統(tǒng)的絕對(duì)安全。主要有以下限制:禁止讀寫(xiě)客戶端機(jī)器中的任何文件。禁止調(diào)用客戶端機(jī)器的任何本地方法。禁止與除服務(wù)器外的任何其他機(jī)器建立網(wǎng)絡(luò)連接。程序”Hello,World!”

//SimpleApplet.javaimportjava.awt.*;//這個(gè)import語(yǔ)句用于所有的appletimportjava.applet.*;publicclassSimpleAppletextendsApplet{publicvoidpaint(Grapicsg){

g.drawString(“Hello,World!”,20,20);//用于字符串輸出到applet窗口;

}}applet程序有兩種運(yùn)行方式,一種是將代碼嵌入到HTML文本中,或者使用Java集成開(kāi)發(fā)工具,如JBuilder,Eclipse等。JDK中也包含了appletviewer,是查看applet的工具。程序”Hello,World!”applet運(yùn)行時(shí),首先將編譯好的字節(jié)碼文件和編譯好的HTML文件(其中包含了字節(jié)碼文件SimpleApplet.class)保存在WEB服務(wù)器的適合路徑下:當(dāng)WEB瀏覽器下載此HTML文件并顯示時(shí),他會(huì)自動(dòng)下載此HTML中指定的JavaApplet字節(jié)碼,然后調(diào)用內(nèi)置在瀏覽器中Java解釋器來(lái)解釋執(zhí)行下載到本地的字節(jié)碼程序。AWTAWT(AbstractWindowToolkit),抽象窗口工具包,SUN公司提供的用于圖形界面編程(GUI)的類(lèi)庫(kù)?;镜腁WT庫(kù)處理用戶界面元素的方法是把這些元素的創(chuàng)建和行為委托給每個(gè)目標(biāo)平臺(tái)上(Windows、Unix、Macintosh等)的本地GUI工具進(jìn)行處理。例如:如果我們使用AWT在一個(gè)Java窗口中放置一個(gè)按鈕,那么實(shí)際上使用的是一個(gè)具有本地外觀和感覺(jué)的按鈕。這樣,從理論上來(lái)說(shuō),我們所編寫(xiě)的圖形界面程序能運(yùn)行在任何平臺(tái)上,做到了圖形界面程序的跨平臺(tái)運(yùn)行。AWTAWTAWTAWTAWTAWTAWTAWTAWTAWTAWTAWT事件模型Events(事件):描述發(fā)生了什么的對(duì)象。Eventsource(事件源):事件的產(chǎn)生器。Eventhandlers(事件處理器):接收事件對(duì)象、解釋事件對(duì)象并處理用戶交互的方法。AWTAWT事件模型JDK1.0的事件模型:層次模型FramePanelButtonActioneventAWT事件模型JDK1.1的事件模型:委托模型

事件監(jiān)聽(tīng)器:實(shí)現(xiàn)了監(jiān)聽(tīng)器接口的類(lèi)。一個(gè)監(jiān)聽(tīng)器對(duì)象是一個(gè)實(shí)現(xiàn)了專(zhuān)門(mén)的監(jiān)聽(tīng)器接口的類(lèi)的實(shí)例。FramePanelButtonFrameandPaneleventhandlersActionevent事件監(jiān)聽(tīng)器actionPerformed(ActionEvent

e){}Actionhandlers

Java基礎(chǔ)類(lèi)JFC(JavaFoundationClasses):Java基礎(chǔ)類(lèi),是關(guān)于GUI組件和服務(wù)的完整集合,主要包含5個(gè)API:AWT、Java2D、Accessibility、Drag&Drop、Swing。JFC提供了幫助開(kāi)發(fā)人員設(shè)計(jì)復(fù)雜應(yīng)用程序的一整套應(yīng)用程序開(kāi)發(fā)包。Java2D是一套圖形API,它為Java應(yīng)用程序提供了一套高級(jí)的有關(guān)二維(2D)圖形圖像處理的類(lèi)。Java2DAPI擴(kuò)展了java.awt和java.awt.image類(lèi),并提供了豐富的繪圖風(fēng)格,定義了復(fù)雜圖形的機(jī)制和精心調(diào)節(jié)繪制過(guò)程的方法和類(lèi)。這些API使得獨(dú)立于平臺(tái)的圖形應(yīng)用程序的開(kāi)發(fā)更加簡(jiǎn)便。AccessibilityAPI提供了一套高級(jí)工具,用以輔助開(kāi)發(fā)使用非傳統(tǒng)輸入和輸出的應(yīng)用程序。它提供了一個(gè)輔助的技術(shù)接口,如:屏幕閱讀器,屏幕放大器,聽(tīng)覺(jué)文本閱讀器(語(yǔ)音處理)等等。Drag&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論