面向?qū)ο蟮某绦蛟O(shè)計java語言講義第7章圖形用戶界面_第1頁
面向?qū)ο蟮某绦蛟O(shè)計java語言講義第7章圖形用戶界面_第2頁
面向?qū)ο蟮某绦蛟O(shè)計java語言講義第7章圖形用戶界面_第3頁
面向?qū)ο蟮某绦蛟O(shè)計java語言講義第7章圖形用戶界面_第4頁
面向?qū)ο蟮某绦蛟O(shè)計java語言講義第7章圖形用戶界面_第5頁
已閱讀5頁,還剩169頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

用圖 面GUI(GrahicsUser圖形界面—用多 圖形用戶界面(graphicsuserinterface,GUI),使用圖形簡單地說,圖形用戶界面就是一組圖形界面,這些成分和元間不但外觀上有著息,共同組成一個能響應(yīng)特定、具有一定Java語言中,處理圖形用戶界面的類庫主要java.awt包和javax.swing 4GUI 企業(yè)品牌特色的視覺識別性

組件是圖形用戶界面的基本單位,它里面不再包含其文字、圖形、圖象 組件 類組件等。它里面不再包含其他的成分 是Window,Window的重要子類是JFrame和JDialog。之內(nèi),非頂層容器包括JPanel及JScrollPanel等,JPanel的重要子類是JApplet之內(nèi),非頂層容器包括JPanel及JScrollPanel等,JPanel的重要子類是JApplet。PanelApplet JFC

是Java平臺的圖形功能的包,AWT類庫中的各種 AWT的基本元素組件Button/List/Checkbox/Choice/TextField/容器(Containers,組件的子類Panel/Window/Dialog/Applet/Frame/ Bar/布局(Layout)圖形Graphics/Image/Color/Font/FontMetrics/AWTfeaturesarichsetofuserinterfacearobustevent-handling graphicsandimagingtools,includingshape,color,andfontclasseslayoutmanagers,forflexiblewindowlayoutsthatdon‘tdependonaparticularwindowsizeorscreendatatransferclasses,forcut-and-pastethroughthe tformclipboard

AWT出現(xiàn)于Java1.x中,是Java初期所內(nèi)置的一種面向窗口應(yīng)用的庫,作為JDK的一部分,是Java基本類JFC 圖形用戶界面的獨(dú)立平臺,輔助程序員構(gòu)造一個通用 這種情況從Java1.1以后得到較大改進(jìn),并且從Java1.2開始, 這種情況從Java1.1以后得到較大改進(jìn),并且從Java1.2開始,AWT添加了被稱為“Swing”的新GUI庫。SwingJavax.swing包是JDK1.2以后版本所引入的圖形用戶界面類庫,swing是功能強(qiáng)大的Java的SwingGUI組件相對于java.a(chǎn)wtGUI前面中提到的AWT是Swing的基礎(chǔ)。Swing產(chǎn)生的主要原因就是AWT不能滿足發(fā)展的需AWTSwing是建立在AWT基礎(chǔ)上的一種增強(qiáng)型的 “輕量組件”替代AWT中絕大多數(shù)“重量組而不是調(diào)用操作系統(tǒng)的界面組件實(shí)現(xiàn),是由這樣做的好處是程序在對組件的調(diào)用上完全JFC(JavaFoundationClasses,JFC,Java基礎(chǔ)類)的用戶界面功能的部分。它不僅是AWT所AWTSwing是架構(gòu)在AWTwinComponentComponentJComponent AbstraAbstraJJtoggleItemJ

JWindowJ JJComponent類是所有Swing組件的基礎(chǔ),它擴(kuò)展了java.awt.containerSwing組件都是AWJComponentSwing組件提供了基本特征,它封裝了許多非Swing組件,必須先知了解Swing組件相對于AWT組件的優(yōu)越性。 工具提示是由ToolTipManager類來 們可以通過這個類來設(shè)置從光標(biāo)開始停留在組 即ut Proert和et ProertSwing組件-樹和表SwingSwingSwing

Swing應(yīng)用程序 包m序m序Swing程的的

JFrame:用于框架窗口的類,此窗口帶有邊框、JDialog:用 框的類的類JApplet: Swing組件的Java的類JPanel:最靈活、最常用的中間JTabbedPane:包含多個組件,但一次只顯示JToolBar:按行或列排列一組組件(JTabbedPane:包含多個組件,但一次只顯示JToolBar:按行或列排列一組組件()SwingGUI

Eclipse自身并不帶有圖形用戶界面的工具,需 提供的VisualEditor(VE)、VisualSwingforEclipse或WindowBuilderPro。其中,JiglooJigloo 要介紹在Eclipseiloo插件開發(fā)GUI應(yīng)用“GUIforms→Swing-→JFrame(2)“GUIforms→Swing-→JFrame是否包括 是否包括(4)點(diǎn)擊“完成”按鈕,在Eclipse中會自 Swing組件的首選方法是使用javax.swing.SwingUtilities類的 “打開方式”→“FormEditor”。如圖所示。 組件(MoreComponents)、菜單 (8)給組件添加處理代碼步驟包括:(1)在組件屬性窗口中找到“”(Event)部分內(nèi)的相應(yīng)的器,并設(shè)置器各種屬性;(3)切換到代碼編輯器,在生成的 用戶進(jìn)行交互??虻拇笮〔荒芨淖?,也即它沒與普通窗口不同,框通常是在一個宿主窗口的基礎(chǔ)上彈出的,框的存在依賴于其宿主窗口。根據(jù)框與其宿主窗口的關(guān)系,可以將框分成模態(tài)框和非模態(tài)框。模態(tài)框是指這樣的框,當(dāng)該框彈出后,其宿主窗口阻塞,用戶只能與框進(jìn)行交互,只有框上的相關(guān)操作完成,框關(guān)閉之后,才能繼續(xù)進(jìn)行宿主窗口的操作。非模態(tài)對話框則沒有這樣的限制,彈出非模態(tài)框后,宿主窗口不會阻塞,用戶既可以在彈出的框上進(jìn)行操作,也可以在其宿主窗 JApplet 示例 它必 器包,同時自身又可以包 板卷滾面板(JScrollPane)與JPanel 再將JPanel面板放到JscrollPane面板上。例 例 例7. 例7. 例 Swing中的基本組件有很多種按它們的性質(zhì) 它指定類型的符號(),未被勾

框 組合框(JComboBox)的外觀由三部分組成,上部是文本框及其右選項(xiàng))進(jìn)行的任何操作,會自動影響列 –創(chuàng)建一個空 ––boBoxModel(Object[] 框 第一, 型的用法是 publicvoidsetEchoChar(charc)/publicchar 第二,框不使用getText()獲取所輸入的內(nèi)容,而是使用publicchar[] 第三,缺省情況下,框禁用輸入法,如果應(yīng)用程序需要輸入 前面談 框。在GUI程序設(shè)計中,經(jīng)常 (JBar)、菜單(J)(JItem)、JCheckBoxItem(復(fù)選菜單項(xiàng))、JRadioButtonItem(單選菜單項(xiàng))、彈出式菜單(JPopup)除菜單欄、彈出式菜單外,其它幾個類都屬,均繼承了抽象按鈕類Button的方一般情況下,建立了窗口之后,就要考慮給窗口添加菜單條。在Java中這一部分是由三個類Bar,和Item,分 JJJ 創(chuàng)建創(chuàng)建 將 Item加入將 將 Bar加入窗體(例如 菜單項(xiàng)(J Item) 復(fù)選菜單項(xiàng) 單選菜單項(xiàng) 鍵鍵使用setMnemonic(intmnemonic) modifiers為CTRLSHIFTALT 單 單 Item加入 publicImageIcon(Image使用 Item(Stringtext,Icon 。布局管理器是實(shí)現(xiàn)了LayoutManagerLayoutManager可以根據(jù)不同 不同的布局管理方式--→不同風(fēng)格的布局樣式不同的布局管理方式--→不同風(fēng)格的布局樣式 創(chuàng)建好頂層容器如JFrame后,調(diào)用JFrame的“pack如:兩列GridLayoutFlowLayout(流水式布局BorderLayout(邊界布局GridLayout(網(wǎng)格布局GridBagLayout(網(wǎng)格袋布局CardLayout(卡片布局 rinLaFlowLayout(流水式布局FlowLayout是容器JPanel和它的子類或JApplet指定布局管理器,則它們就使用FlowLayout類能夠根據(jù)顯示區(qū)域的大小,將在組件不多時,使用這種策略非常方便,但是publicpublicFlowLayout(intpublicFlowLayout(intalign,inthgap,int參數(shù)align為組件的對齊方式,參數(shù)hgap、vgap分別設(shè)置組件間距(5個像素)。BorderLayout(邊界布局BorderLayout是容器JFrame和JDialog默認(rèn)BorderLayout也是一種簡單的布局策略,它把容器內(nèi)分成東(East分成東(East)、西(West)、南(South)North BorderLayout(BorderLayout(inthorz,intBorderLayout(inthorz,int系統(tǒng)默認(rèn)放置到Center(中)系統(tǒng)默認(rèn)放置到Center(中)Panelp2=new2.setLaoutnew//Sameasp.add(newTextArea(),BorderLayoutBorderLayout.NORTH BorderLayout.SOUTH BorderLayout.CENTERvoidadd(ComponentObj,int..setLaoutnewBorderLayout());ButtonbtnEast=newButton("東");ButtonbtnWest=newButton("西");ButtonbtnNorth=newButton("北");ButtonbtnSouth=newButton("南");.. 【例7.16】邊框布局管理器的使GridLayout(網(wǎng)格布局 使用GridLayout布局管理器時,組件被添加到續(xù)從左到右添加組件,直到將所有組件添加完 publicGridLayout(introws,intpublicGridLayout(introws,intcols,inthgap,introws和 ="""""""""5""""""""btn=newButton[str.length}for(inti=0;i<str.length;i++){} GridBagLayout(網(wǎng)格袋布局。在GridBaLaout中,可以為每個組件指定其包含的網(wǎng)隨意加入容器的任意位置,從而可以真正自由。在GridBaLaout中,可以為每個組件指定其包含的網(wǎng)隨意加入容器的任意位置,從而可以真正自由 public Setstheconstraintsforthespecifiedcomponentinthiscomp-thecomponenttobeconstraints-theconstraintstobeTheGridBagConstraintsclassspecifiesconstraintsforcomponentsthatarelaidoutusingtheGridBagLayoutclass.–CreatesaGridBagConstraintobjectwithallofitssettotheirdefault 與GridBagLayout相關(guān)的約束條件有三種,一

組件在網(wǎng)格中排放的

整數(shù)X,Y

組件顯示區(qū)的左上角

網(wǎng)格單元中組件顯示指定分 外的水平

缺省值(0,0,0,

外部填充,即指定組件與其顯示區(qū)之間的

(1)gridwidth(1)gridwidth(3)weightx和(3)weightx和0,表示不能被分配到剩余空間。fill的值來調(diào)整該組件的大小。fill的值來調(diào)整該組件的大小。NONE表示不調(diào)整(默認(rèn)值),BOTH表示在水平和垂直方向上都調(diào)整。使用CardLayout的容器表面上可以容納多個組件,但 可可 卡片通常為一個JPanel 卡片通常為一個JPanel CardLayout(inthgap,int show(ContainerparentStringname);//顯示指定 ) 見 發(fā)生時,程序才能獲得CPU的使用權(quán),同時 作的,并傳送該給程序中的處理代碼,由該代碼最終決定如何處理以 JavaGUI組件對象能夠產(chǎn)生 Jdk10的處理采用的是(HierachicalModel),也 Java11版本的AWT中,對原有的繼承模型進(jìn)行了改進(jìn),產(chǎn)生了一種新的處理機(jī)制,即的模型(DelegationModel)我們主要介紹的(1)(1)Event— 模型(DelegationModel)中, ,通過addXXXListener方法 器 器負(fù)責(zé)處 的過程(2)EventSource— (3)Eventhandler——

2-

一個菜單項(xiàng)時,就會生成此滾動條時會生成此。或成為可見時會生成此。擇或取消時生成此。此。

2-

接收到鍵盤輸入時會生成此件時,會生成此。會生成此。 生成此。

類 或窗口系統(tǒng)事件,包括低級事 指屏幕上可視化組件的低或窗口系統(tǒng)事件,包括 ActionEvent////器 的

器”,它們在java.awt.event器來

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論