2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、171第5章Java圖形用戶界面圖形用戶界面本章將用面向?qū)ο蟮木幊谭椒▉砭帉憥D形用戶界面的程序。圖形用戶界面(GraphicalUserInterface,GUI(讀作gooee))為用戶提供了一個直觀、方便、快捷的圖形化操作界面。借助Java中的菜單、輸入?yún)^(qū)、按鈕、對話框、窗口等標(biāo)準(zhǔn)界面元素可以創(chuàng)建個性化的圖形用戶界面,再加上鼠標(biāo)、鍵盤等設(shè)備的操作,用戶可以方便地向計算機(jī)系統(tǒng)發(fā)出指令,啟動操作,并將系統(tǒng)運(yùn)行的結(jié)果在同一個用戶界面上顯

2、示出來。雖然現(xiàn)在有許多Java開發(fā)環(huán)境都能夠自動或很方便地生成圖形界面,但我們?nèi)匀挥斜匾莆認(rèn)ava的圖形用戶界面程序的基本原理。這包括:Java的圖形用戶界面程序有哪些基本組件類,這些類的層次關(guān)系是怎樣的;在屏幕上如何擺放這些組件,怎樣用這些基本的組件設(shè)計出專業(yè)的圖形界面;這些組件如何響應(yīng)用戶的行為,也就是如何響應(yīng)用戶事件,即事件驅(qū)動原理。如果沒有掌握這些基本內(nèi)容,那么這方面的編程水平將停留在做“表面文章”上。核心內(nèi)容:1.Swing

3、簡介2.圖形用戶界面與事件驅(qū)動的程序設(shè)計基礎(chǔ)3.布局管理器4.事件處理機(jī)制5.Swing容器6.Swing基本組件7.Swing高級組件8.Java圖形繪制5.1Swing簡介簡介應(yīng)用程序的界面是人機(jī)之間的接口,早期的操作系統(tǒng)僅支持命令操作,對系統(tǒng)的任何操作都通過輸入命令來執(zhí)行,也沒有鼠標(biāo)可以點(diǎn)擊,系統(tǒng)對用戶的命令也是以文本形式反饋,這樣的界面即為文本界面。圖形用戶界面中的圖形是相對于文本界面而言的,實(shí)際上主要指的是窗體。用戶可以借助圖

4、形化的菜單、按鈕等加上鼠標(biāo)的點(diǎn)擊向系統(tǒng)發(fā)出操作命令,并將程序運(yùn)行結(jié)果通過圖形界面反饋給用戶。如今的操作系統(tǒng)都是基于窗口操作并提供鼠標(biāo)支持,微軟的操作系統(tǒng)更是直接命名為視窗(Windows)。當(dāng)前幾乎所有的桌面應(yīng)用程序(DesktopApplication)和客戶端/服務(wù)器程序(ClientServerApplication)的客戶端都采用圖形用戶界面。每—種操作系統(tǒng)都會提供窗體部件API(ApplicationProgrammingIn

5、terface)以供系統(tǒng)自身調(diào)用顯示和供程序開發(fā)人員創(chuàng)建GUI應(yīng)用程序時調(diào)用。Java在圖形用戶界面編程方面提供了功能強(qiáng)大的工具包。在JDK1.0中,圖形組件存放在抽象窗口工具集AWT(AbstractWindowToolkit)的庫中。目標(biāo)是希望構(gòu)建一個通用的GUI,使利用它編寫的程序能夠運(yùn)行在所有的平臺上,以實(shí)現(xiàn)SUN公司提出的口號“一次編寫,隨處運(yùn)行”(Writeoncerunanywhere)。考慮到跨平臺的原因,AWT只提供了

6、各個平臺都支持的,構(gòu)建GUI必需的一些基本組件,因此AWT包小而簡單。由于AWT直接調(diào)用本地操作系統(tǒng)的圖形構(gòu)件來實(shí)現(xiàn)圖形界面,使得用AWT構(gòu)建的GUI往往在不同的操作系統(tǒng)平臺上具有不同的風(fēng)格,而且GUI的性能也受到了限制。例如,生成一個AWT的復(fù)選框會導(dǎo)致AWT直接調(diào)用下層本地程序來生成一個復(fù)選框。不幸的是,一個Windows平臺上的復(fù)選框同MacOS平臺或者各種UNIX風(fēng)格平臺上的復(fù)選框并不是那么相同。其結(jié)果是一個AWT應(yīng)用可能在Wi

7、ndows上表現(xiàn)很好,可是到了MacOS上幾乎不能使用,或者正好相反。這影響了Java程序的跨平臺性。371(LayoutManager)這個工具來管理組件在容器中的布局,而不使用直接設(shè)置組件位置和大小的方式。每個容器都有一個布局管理器,當(dāng)容器需要對某個組件進(jìn)行定位或判斷其大小尺寸時,就會調(diào)用其對應(yīng)的布局管理器。常用的布局管理器有順序布局管理器(FlowLayout),網(wǎng)格布局管理器(GridLayout),邊界布局管理器(BderLa

8、yout)等。4事件處理機(jī)制(EventHling)事件處理機(jī)制是用來接收和處理事件的機(jī)制。通過事件處理機(jī)制能夠讓生成的圖形用戶界面動起來,通過監(jiān)聽和響應(yīng)鼠標(biāo),鍵盤等設(shè)備所觸發(fā)的事件來完成系統(tǒng)所需要的各項(xiàng)功能。Java采用委托事件處理模型來實(shí)現(xiàn)事件處理。5.2.2Java圖形用戶界面的實(shí)現(xiàn)圖形用戶界面的實(shí)現(xiàn)使用Swing創(chuàng)建圖形用戶界面的一般步驟:1.選取組件:創(chuàng)建組件對象。2.設(shè)計布局:將組件對象按照一定布局加入到容器中。3.響應(yīng)事件

9、:初始化組件對象,并對組件對象注冊某事件監(jiān)聽器。Swing圖形用戶界面程序設(shè)計有兩個關(guān)鍵的方面。一方面是GUI對象在框架的內(nèi)容面板上的布局,在Swing中通過布局管理器(LayoutManager)來實(shí)現(xiàn);另一方面是處理這些GUI對象產(chǎn)生的事件,通過事件處理機(jī)制來實(shí)現(xiàn)。本章5.3和5.4節(jié)將分別介紹Swing布局管理器和事件處理機(jī)制。5.2.3Swing的類層次結(jié)構(gòu)的類層次結(jié)構(gòu)在javax.swing包中,定義了兩種類型的組件:頂層容器

10、(JFrame,JApplet,JDialog和JWindow)和輕量級組件。Swing組件都是AWT的Container類的直接子類和間接子類。swing包是Swing提供的最大包,它包含將近100個類和25個接口,幾乎所有的Swing組件都在swing包中。圖51和52描述了Swing與AWT的關(guān)系以及Swing組件層次結(jié)構(gòu)。由圖51可以看出,除了使用Swing包中的容器和組件外,Swing仍然使用AWT包中的Font,Col,Gr

溫馨提示

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

評論

0/150

提交評論