面向對象的程序設計java語言講義第7章圖形用戶界面_第1頁
面向對象的程序設計java語言講義第7章圖形用戶界面_第2頁
面向對象的程序設計java語言講義第7章圖形用戶界面_第3頁
面向對象的程序設計java語言講義第7章圖形用戶界面_第4頁
面向對象的程序設計java語言講義第7章圖形用戶界面_第5頁
已閱讀5頁,還剩169頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

組件是圖形用戶界面的基本單位,它里面不再包含其文字、圖形、圖象 組件 類組件等。它里面不再包含其他的成分 是Window,Window的重要子類是JFrame和JDialog。之內,非頂層容器包括JPanel及JScrollPanel等,JPanel的重要子類是JApplet之內,非頂層容器包括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初期所內置的一種面向窗口應用的庫,作為JDK的一部分,是Java基本類JFC 圖形用戶界面的獨立平臺,輔助程序員構造一個通用 這種情況從Java1.1以后得到較大改進,并且從Java1.2開始, 這種情況從Java1.1以后得到較大改進,并且從Java1.2開始,AWT添加了被稱為“Swing”的新GUI庫。SwingJavax.swing包是JDK1.2以后版本所引入的圖形用戶界面類庫,swing是功能強大的Java的SwingGUI組件相對于java.a(chǎn)wtGUI前面中提到的AWT是Swing的基礎。Swing產(chǎn)生的主要原因就是AWT不能滿足發(fā)展的需AWTSwing是建立在AWT基礎上的一種增強型的 “輕量組件”替代AWT中絕大多數(shù)“重量組而不是調用操作系統(tǒng)的界面組件實現(xiàn),是由這樣做的好處是程序在對組件的調用上完全JFC(JavaFoundationClasses,JFC,Java基礎類)的用戶界面功能的部分。它不僅是AWT所AWTSwing是架構在AWTwinComponentComponentJComponent AbstraAbstraJJtoggleItemJ

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

Swing應用程序 包m序m序Swing程的的

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

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

框 組合框(JComboBox)的外觀由三部分組成,上部是文本框及其右選項)進行的任何操作,會自動影響列 –創(chuàng)建一個空 ––boBoxModel(Object[] 框 第一, 型的用法是 publicvoidsetEchoChar(charc)/publicchar 第二,框不使用getText()獲取所輸入的內容,而是使用publicchar[] 第三,缺省情況下,框禁用輸入法,如果應用程序需要輸入 前面談 框。在GUI程序設計中,經(jīng)常 (JBar)、菜單(J)(JItem)、JCheckBoxItem(復選菜單項)、JRadioButtonItem(單選菜單項)、彈出式菜單(JPopup)除菜單欄、彈出式菜單外,其它幾個類都屬,均繼承了抽象按鈕類Button的方一般情況下,建立了窗口之后,就要考慮給窗口添加菜單條。在Java中這一部分是由三個類Bar,和Item,分 JJJ 創(chuàng)建創(chuàng)建 將 Item加入將 將 Bar加入窗體(例如 菜單項(J Item) 復選菜單項 單選菜單項 鍵鍵使用setMnemonic(intmnemonic) modifiers為CTRLSHIFTALT 單 單 Item加入 publicImageIcon(Image使用 Item(Stringtext,Icon 。布局管理器是實現(xiàn)了LayoutManagerLayoutManager可以根據(jù)不同 不同的布局管理方式--→不同風格的布局樣式不同的布局管理方式--→不同風格的布局樣式 創(chuàng)建好頂層容器如JFrame后,調用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分別設置組件間距(5個像素)。BorderLayout(邊界布局BorderLayout是容器JFrame和JDialog默認BorderLayout也是一種簡單的布局策略,它把容器內分成東(East分成東(East)、西(West)、南(South)North BorderLayout(BorderLayout(inthorz,intBorderLayout(inthorz,int系統(tǒng)默認放置到Center(中)系統(tǒng)默認放置到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相關的約束條件有三種,一

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

整數(shù)X,Y

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

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

缺省值(0,0,0,

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

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

2-

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

2-

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

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

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

溫馨提示

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

評論

0/150

提交評論