圖形用戶界面程序設(shè)計(jì)入門.ppt_第1頁
圖形用戶界面程序設(shè)計(jì)入門.ppt_第2頁
圖形用戶界面程序設(shè)計(jì)入門.ppt_第3頁
圖形用戶界面程序設(shè)計(jì)入門.ppt_第4頁
圖形用戶界面程序設(shè)計(jì)入門.ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第12章圖形用戶界面程序設(shè)計(jì)入門 學(xué)習(xí)目標(biāo) 瀏覽簡單的GUI組件 12 2 描述JavaGUI的API層次結(jié)構(gòu) 12 3 使用框架 面板和簡單的GUI組件創(chuàng)建用戶界面 12 4 理解布局管理器的作用 12 5 使用FlowLayout GridLayout 和BorderLayout布局管理器在容器中設(shè)置組件的布局 12 5 使用Color和Font類 12 6 12 7 使用JPanel創(chuàng)建子容器 12 8 使用paintComponent方法在面板上畫圖 12 9 使用Graphics類中的繪圖方法繪制字符串 直線 矩形 橢圓 弧形 多邊形等 12 9 GUI組件 CreateabuttonwithtextOKJButtonjbtOK newJButton OK Createalabelwithtext Enteryourname JLabeljlblName newJLabel Enteryourname Createatextfieldwithtext TypeNameHere JTextFieldjtfName newJTextField TypeNameHere CreateacheckboxwithtextboldJCheckBoxjchkBold newJCheckBox Bold CreatearadiobuttonwithtextredJRadioButtonjrbRed newJRadioButton Red Createacomboboxwithchoicesred green andblueJComboBoxjcboColor newJComboBox newString Red Green Blue 按鈕 標(biāo)簽 文本框 復(fù)選框 單選按鈕 組合框 Swingvs AWT 為什么GUI組件的類名都有前綴J呢 為什么不用Button 而用JButton呢 剛引入java的時候 圖形組件存放于抽象窗口工具集 AWT AWT適合開發(fā)簡單圖形界面 對復(fù)雜的GUI項(xiàng)目不適用 因?yàn)樗慕鉀Q方案非常適用于底層平臺 隨著Java2的發(fā)行 AWT逐漸被更穩(wěn)定 通用 靈活的庫取代 即Swing組件庫 Swingcomponents java awt Window或java awt Panel子類的組件必須使用具體平臺上的本地GUI來繪制 不依賴本地GUI的Swing組件成為輕型組件 AWT組件稱為重型組件 SwingGUI組件類的開都有前綴字母J GUI程序所用類的層次結(jié)構(gòu)圖 Container類 Container類用來包含其它組件 GUI輔助類 輔助類是組件和容器用來繪制和放置對象的 SwingGUI組件 核心組件 擴(kuò)展組件 AWT組件 框架Frames Frame是不能包含在其它窗口內(nèi)的窗口 在javaGUI程序中 它是包含其他Swing用戶界面組件的容器 創(chuàng)建框架 Run importjavax swing publicclassMyFrame publicstaticvoidmain String args JFrameframe newJFrame TestFrame frame setSize 400 300 frame setVisible true frame setDefaultCloseOperation JFrame EXIT ON CLOSE 在Frame中添加組件 Addabuttonintotheframeframe getContentPane add newJButton OK Run MyFrameWithComponents Titlebar Contentpane 注 內(nèi)容窗格 contentpane 是Container的一個子類 添加控件也可以使用以下語句 Containercontainer frame getContentPane container add newJButton OK 內(nèi)容窗格伴隨著JFrame對象的創(chuàng)建而創(chuàng)建的 getContentPane方法簡單地返回該內(nèi)容窗格的引用 可以使用這個引用訪問內(nèi)容窗格 框架居中 Run CenterFrame 默認(rèn)情況下 框架在屏幕的左上角顯示 布局管理器 Java的布局管理器提供了一層抽象 自動把用戶界面映射到所有的窗口系統(tǒng) Java的GUI組件在容器中的位置由容器的布局管理器來安排 使用setLayout LayoutManager 方法在容器中設(shè)置布局管理器 布局管理器種類 FlowLayout Chapter12 GridLayout Chapter12 BorderLayout Chapter12 其他布局管理器將在下冊介紹 FlowLayout布局管理器 FlowLayout布局管理器按照添加的順序 由左到右將組件排列在容器中 放滿一行 就開始新的一行 Run FlowLayout布局管理器 ShowFlowLayout Run 使用FlowLayout布局管理器方式 FlowLayout構(gòu)造方法 publicFlowLayout intalign inthGap intvGap 根據(jù)指定的對齊方式 水平間距和垂直間距構(gòu)造一個新的FlowLayout對象 間距用像素度量 publicFlowLayout intalignment 根據(jù)指定的對齊方式構(gòu)造一個新的FlowLayout對象 默認(rèn)的間距為5個像素 publicFlowLayout 構(gòu)造一個新的FlowLayout對象 默認(rèn)的對齊方式是居中 默認(rèn)的間距為5個像素 GridLayout布局管理器 根據(jù)構(gòu)造方法定義的行數(shù)和列數(shù) GridLayout布局管理器以網(wǎng)格 矩陣 的形式排列組件 組件按照添加的順序從左到右排列 ShowGridLayout Run GridLayout布局管理器 使用GridLayout布局管理器方式 ShowGridLayout Run GridLayout構(gòu)造方法 publicGridLayout introws intcolumns 指定行和列publicGridLayout introws intcolumns inthGap intvGap 指定行 列 水平間距和垂直間距 BorderLayout布局管理器 BorderLayout布局管理器將窗口分成5個區(qū) 東區(qū) 南區(qū) 西區(qū) 北區(qū)和中央 ShowBorderLayout Run 使用add Component index 方法添加組件 index可以是 BorderLayout EAST BorderLayout SOUTH BorderLayout WEST BorderLayout NORTH BorderLayout CENTER BorderLayout布局管理器 ShowBorderLayout Run 12 6顏色類Color 可以使用java awt Color類為GUI組件設(shè)置顏色 顏色由紅 綠 藍(lán)三原色組成 Colorc newColor r g b 例如 Colorc newColor 228 100 255 標(biāo)準(zhǔn)顏色 java awt Color中定義了十三種標(biāo)準(zhǔn)顏色 black blue cyan darkGray gray green lightGray magenta orange pink red white yellow 從JDK1 4 修改了常量命名習(xí)慣 可以使用 BLACK BLUE CYAN DARK GRAY GRAY GREEN LIGHT GRAY MAGENTA ORANGE PINK RED WHITE andYELLOW 設(shè)置顏色 可以使用如下方法設(shè)置前景色和背景色 setBackground Colorc setForeground Colorc Example jbt setBackground Color yellow jbt setForeground Color red 12 7Font類 FontmyFont Font name style size Example FontmyFont newFont SansSerif Font BOLD 16 FontmyFont newFont Serif Font BOLD Font ITALIC 12 JButtonjbtOK newJButton OK jbtOK setFont myFont 字體名 所有平臺都支持的字體 SansSerif Serif Monospaced Dialog orDialogInput 字型Font PLAIN 0 Font BOLD 1 Font ITALIC 2 andFont BOLD Font ITALIC 3 查找所有可以使用的字體 GraphicsEnvironmente GraphicsEnvironment getLocalGraphicsEnvironment String fontnames e getAvailableFontFamilyNames for inti 0 i fontnames length i System out println fontnames i 12 8使用面板作為子容器 可以使用newJPanel 創(chuàng)建一個帶默認(rèn)布局管理器FlowLayout的面板 也可以使用newJPanel LayoutManager 創(chuàng)建一個指定布局管理器的面板 使用add Component 方法給面板添加一個組件 JPanelp newJPanel p add newJButton OK 給JFrame添加組件 實(shí)際上添加到了的內(nèi)容窗格中 Example12 4Panels示例 使用面板組織組件 創(chuàng)建一個微波爐的用戶界面 TestPanels Run 12 9在面板上繪制圖形 JPanel可以用作組織組件的小容器 另一個重要的作用是繪制圖形 要在面板上畫圖 需要創(chuàng)建一個由JPanel擴(kuò)展的新類 并且覆蓋paintComponent方法告知面板如何畫圖 在面板上可以顯示文字 繪制圖形和圖像 paintComponent方法 paintComponent方法的頭標(biāo)志 protectedvoidpaintComponent Graphicsg TheGraphics對象由JVM為每個GUI組件自動創(chuàng)建 繪制字符串 publicvoiddrawString Stringstring intx inty 在面板上繪制圖形 publicclassDrawMessageextendsJPanel Mainmethod publicstaticvoidmain String args JFrameframe newJFrame DrawMessage frame getContentPane add newDrawMessage frame setDefaultCloseOperation JFrame EXIT ON CLOSE frame setSize 300 200 frame setVisible true Paintthemessage protectedvoidpaintComponent Graphicsg super paintComponent g g drawString WelcometoJava 40 40 Run 40 40 Java坐標(biāo)系統(tǒng) 0 0 XAxis YAxis x y x y Java坐標(biāo)系統(tǒng) XAxis 傳統(tǒng)坐標(biāo)系統(tǒng) 0 0 YAxis 注 Graphics類是提供設(shè)備無關(guān)圖形界面的一個抽象類 它可以在不同平臺的屏幕上顯示圖形和圖像 無論何時 只要顯示一個組件 就會為它創(chuàng)建一個對象Graphics 即圖形環(huán)境 當(dāng)組件第一次顯示或需要重新顯示的時候 paintComponent方法會被自動調(diào)用來繪制圖形環(huán)境 為了確保在一幅新圖顯示之前視圖區(qū)域是干凈的 有必要調(diào)用super paintComponent g 方法 繪制幾何圖形 繪制直線繪制矩形繪制橢圓繪制弧形繪制多邊形 繪制直線 drawLine intx1 inty1 intx2 inty2 繪制矩形 drawRect intx inty intw inth fillRect intx inty intw inth 繪制圓角矩形 drawRoundRect intx inty intw inth intaw intah fillRoundRect intx inty intw inth intaw intah DrawRectangles Run 繪制橢圓 drawOval intx inty intw inth fillOval intx inty intw inth DrawOvals Run 繪制弧形 drawArc intx inty intw inth intangle1 intangle2 fillArc intx inty intw inth intangle1 intangle2 單位是度 繪制弧形 DrawArcs Run 繪制多邊形和折線段 int x 40 70 60 45 20 int y 20 40 80 45 60 g drawPolygon x y x length g drawPolyline x y x length 使用Polygons類繪制多邊形 Polygonpolygon newPolygon polygon addPoint 40 59 polygon add

溫馨提示

  • 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

提交評論