歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

java8圖形用戶界面設(shè)計概述.ppt

  • 資源ID:6358120       資源大?。?span id="wzkhejg" class="font-tahoma">789.31KB        全文頁數(shù):36頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

java8圖形用戶界面設(shè)計概述.ppt

1 第8章圖形用戶界面設(shè)計概述 現(xiàn)代的應用程序早已進入圖形時代 命令行程序只在特殊的時候才會使用 Java提供了豐富的類用來生成圖形用戶接口 GraphicalUserInterface GUI 本章將講述JavaGUI的發(fā)展 AWT的構(gòu)成 布局管理器的應用及Java的事件處理模型 2 8 1AWT概述 Java1 0包含一個用于GUI編程的類庫 叫抽象窗口工具箱 AbstractWindowToolkit AWT Java awt包中最核心的類是Component類 是構(gòu)成Java圖形用戶界面的基礎(chǔ) 所有其他組件都是從Component類派生出來的 注意 Component類是一個抽象類 不能直接使用 在Componen類中定義了AWT組件具有的一般功能如大小和位置控制 外形控制 組件的狀態(tài)控制等 3 大小和位置控制一個組件的大小和位置可以通過組件提供的一些方法來指定 相應的方法包括setSize setLocation 等 外形控制可以通過getFont setFont setForeground 等方法設(shè)置組件中的字體 顏色等 基本繪畫支持方法repaint paint update 用于在屏幕上繪制組件 AWT繪圖系統(tǒng)通過一個單獨的線程控制程序何時進行組件的繪制 組件的狀態(tài)控制提供的有關(guān)組件狀態(tài)控制方面的方法有 setEnable isEnable isVisible 等 從Component類派生出來的Container類用于表示GUI中的容器 該類具有的功能是組件管理和布局管理 在組件管理中 包含的方法有add remove getComponent 等 分別用于添加組件 刪除組件和獲得某個組件 4 8 2AWT基本組件 為了方便大家進行圖形用戶界面設(shè)計 本節(jié)介紹AWT基本組件 實際上一個圖形用戶界面就是由一些AWT基本組件組成的 按鈕 Button 按鈕是AWT中最常見的一種組件 用戶可以通過單擊操作 如果希望按鈕響應用戶的單擊操作 就需要實現(xiàn)相關(guān)的鼠標單擊事件 8 5節(jié) 按鈕組件的生成方式如下 Buttonbutobj newButton OK 上面的語句生成了一個標記文字為OK的按鈕 5 復選框 Checkbox 單選框 RadioButton 復選框和單選框組件都提供簡單的 on off 開關(guān) 單選框之間同一時刻只能有一個被選中 一組復選框之間沒有特定的約束關(guān)系 可以有任意個復選框被同時選中 6 復選框?qū)ο蟮纳煞椒?checkboxchbobj newcheckbox one null true 第一個參數(shù)是復選框的文本標簽 第二個參數(shù)為復選框的組名 組名為空 表示生成的對象是復選框第三個參數(shù)代表復選框?qū)ο蟮臓顟B(tài) ture表示生成的復選框?qū)ο鬄檫x中狀態(tài) false表示非選中狀態(tài) 7 CheckboxGroupcbgobj newCheckboxGroup Checkboxc1 newCheckbox one cbgobj true Checkboxc2 newCheckbox two cbgobj false 文本標簽 顯示在對象上復選框組 組名不為空 表示生成的對象是單選框復選框?qū)ο鬆顟B(tài) ture表示生成的復選框?qū)ο鬄檫x中狀態(tài) false表示非選中狀態(tài) 單選框?qū)ο蟮纳煞椒?生成復選框組對象 生成復選框?qū)ο?格式 Checkboxname newCheckbox 文本標簽 復選框組 復選框?qū)ο鬆顟B(tài) 8 下拉式菜單 Choice 下拉式菜單適用于有大量選項同時又需要節(jié)省窗口面積的情況 每次只能選擇下拉式菜單中的一項 下拉式菜單對象的生成方式如下 choicechoiObj newChoice choiObj add class1 choiObj add class2 choiObj add class3 以上生成了包含有class1 class2和class3的下拉式菜單 標簽 Lable 標簽可以說是最簡單的一種組件 用于在界面上顯示一行文字 生成方式如下 LabellabObj newLabel Bookname 上面的語句生成了一個標記文字為Bookname的標簽 9 單行文本輸入?yún)^(qū) TextField 的幾種生成方法 生成一個空的單行文本輸入?yún)^(qū)TextFieldtfObj1 newTextField 生成一個列數(shù)為5的單行文本輸入?yún)^(qū) TextFieldtfObj2 newTextField 5 生成一個文本內(nèi)容為name的單行文本輸入?yún)^(qū)TextFieldtfObj3 newTextField name 生成一個文本內(nèi)容為name且列數(shù)為5的單行文本輸入?yún)^(qū)TextFieldtfObj4 newTextField name 5 注意 TextField只能顯示一行 10 文本輸入?yún)^(qū) TextArea TextArea用于顯示多行多列的文本信息 生成方式如下 TextAreataObj newTextArea Hi 3 20 在上面的語句中 第一個參數(shù)表示初始字符 第二個和第三個參數(shù)分別表示行數(shù)和列數(shù) 列數(shù) List 列表用于將多個文本選項顯示在一個區(qū)域中 用戶可以同時查看若干個選項 ListLobj newList 2 false 顯示行數(shù) 是否允許多選 Lobj add Sun 在list中添加選項SunLobj add Moon 在list中添加選項Moon 11 滾動窗口 ScrollPane 是一種容器 不能單獨使用 可以將其他組件添加到滾動窗口中 ScrollpanespObj newScrollpane 生成滾動窗口spObj add pObj 在滾動窗口中加入對象pObj 菜單 Menu 菜單和其他組件不同 不能直接添加到容器中某一位置 可以添加到菜單條或其他菜單中 菜單條 MenuBar 是一種水平菜單 只能添加到Frame對象中 作為菜單樹的根基 下面是菜單條對象生成和添加到Frame對象中的示例語句 FramefrObj newFrame Frametitle MenuBarmbObj newMewMenuBar frObj setMenuBar mbObj 12 在Java中 類Mune提供了標準的下拉菜單 生成的菜單對象可以被添加到菜單條和其他菜單中 FramefrObj newFrame Frametitle MenuBarmbObj newMenuBar frObj setMenuBar mbObj MenumbObj1 newMenu File MenumbObj2 newMenu Edit mbObj add mbobj1 mbObj add mbobj2 一個菜單通常包含多個菜單項 菜單項對象生成后 通常需要添加到相應的菜單中 如下示 Memumobj newMenu File MenuItemmiobj1 newMenuItem Open MenuItemmiobj2 newMenuItem Save mobj add miobj1 mobj add miobj2 13 8 3AWT容器 容器 Container 是Component的子類因此容器本身也是一個組件 它具有組件的所有性質(zhì) 而且還具有容納其他組件和容器的功能 本節(jié)將介紹Java中最常用的兩種容器 Frame和Panel 其他容器請參閱java的相關(guān)文檔 14 8 3 1FrameFrame類是Window類的子類它也是一種窗口 具有標題屬性 可以按照常用窗口一樣調(diào)整大小 可以將組件和面板添加到其中 Java lang Object java awt Component java awt Container java awt Window java awt Frame圖8 1Frame類的繼承關(guān)系層次圖 15 Frame對象的生成 可以通過Frame類的構(gòu)造方法Frame StringstrObj 生成Frame對象 Frame的標題由String類型的參數(shù)StrObj指定 注意 這種方法生成的Frame對象默認情況下是不可見的 初始大小為 0 0 可以通過setVisible和setSize方法設(shè)置Frame的可見性和大小 下面的語句生成一個標題為 FrameExample 大小為260 160的可見Frame FramefrObj newFrame FrameExample FrObj setSize 260 160 fr setVisible true 16 8 3 2Panel Panel和Frame一樣 都是容器 也可以將組件和其他面板添加到Panel中 與Frame不同的是 Panel對象必須被放入Window和Frame中才能可見 通常是使用add 方法將Panel添加到Window和Frame中 Java lang Object java awt Component java awt Container java awt Panel圖8 2Panel類的繼承關(guān)系層次圖 17 下面的語句將生成的Panel對象添加到Frame中 為了將兩者區(qū)分開 Panel對象的背景設(shè)置為紅色 FramefrObj newFrame FrameExample PanelpPbj newPanel pPbj setSize 100 80 pPbj setBackground Color red frobj setSize 260 160 frObj add pObj frObj setVisible ture 18 8 4布局管理器 布局管理器 layoutmanager 是用來安排容器中多個組件的位置及大小 以確保GUI中各組件能安排在適當?shù)奈恢?Java中的布局類型包括以下幾種 FlowLayout 流式布局 BorderLayout 邊界布局 GridLayout 網(wǎng)格布局 CardLayout 卡片布局 BoxLayout 框布局 GridBagLayout 網(wǎng)格包布局 19 簡單GUI程序 1 java awt包稱為抽象窗口工具集AWT AbstractWindowToolkit 是使用Java進行GUI設(shè)計的基礎(chǔ) 2 javax swing包Swing組件存放在javax swing包中 幾乎所有AWT組件對應有新功能更強的Swing組件 另外還加入了一些全新的組件 Swing組件在名稱上前面多了一個字母 J 20 簡單GUI程序 設(shè)置GUI應用程序的流程 1 引用需要的包和類 2 設(shè)置一個頂層的容器 3 根據(jù)需要為容器設(shè)置布局管理器或使用默認布局管理器 4 將組件添加到容器內(nèi) 位置自行設(shè)計 5 為響應事件的組件編寫事件處理代碼 21 容器 組件 布局和觀感 1 容器和組件組件是可以用圖形化的方式顯示在屏幕上并能夠與用戶進行交互的對象 容器是一種特殊的組件 一種能夠容納其他組件或容器的組件 2 布局管理器為了使圖形用戶界面具有良好的平臺無關(guān)性 提供了專門用來管理組件在容器中的布局的工具 3 觀感決定應用程序的外觀 22 8 4 1FlowLayout 流布局管理器提供了一種非常簡單的布局 用來將一群組件置于一行 它是JPanel的默認布局管理器 流布局管理器會將組件安排在同一行 由左向右排列 并維持組件原本所定義的大小 當此行已經(jīng)排滿時 他會將剩余的組件自動排列到下一行 而各行的組件會向中間對齊也可以通過使用常量LEFT CENTER或RIGHT來改變默認地對齊方式 23 FlowLayout常用的構(gòu)造函數(shù) FlowLayout 生成一個FlowLayout對象 FlowLayout intalign 生成一個FlowLayout對象并指定對齊方式 LEFT CENTER RIGHT 默認為CENTER FlowLayout intalign inthgap intvgap 生成一個FlowLayout對象并指定對齊方式 同一行各組件之間的間距 默認5像素 以及行間距 默認5像素 FlowLayout的一些常用的方法 setAlignment intalign 制定組件對齊的方式 setHgap intgap 指定同一行各組件的距離 setVgap intgap 指定各行之間的距離 24 例8 1流布局管理器 效果 設(shè)置祖父類 window 的默認構(gòu)造函數(shù)為window FlowLayout JFrame類的getContentPane 25 8 4 2BorderLayout 邊框布局管理器可以將組件安置在5個不同的區(qū)域 它們分為東 南 西 北 中 分別用常量EAST SOUTH WEST NORTH和CENTER表示 注意 每個區(qū)域只能放置一個組件 若將組件置于已有組件的區(qū)域 則原組件將被取代 與流布局管理器不同的是 各區(qū)域的組件并不一定會維持原來定義的大小 而是會充滿各區(qū)域所提供的空間 常用的構(gòu)造函數(shù)如下 BorderLayout 生成一個BorderLayout對象 BorderLayout inthgap intvgap 生成一個BorderLayout并指定組件間的水平和垂直間距 26 例8 2邊框布局管理器 27 28 8 4 3GridLayout 網(wǎng)格布局管理器會根據(jù)指定的行列數(shù)目將一個容器分割成幾個一樣大小的方形區(qū)域 每個區(qū)域只能放置一個組件 而每個組件會完全使用該區(qū)域所能使用的空間 常用的構(gòu)造函數(shù)如下 GridLayout 生成一個網(wǎng)格布局管理器 所有組件會排列于同一列 而組件間的間隔為零 默認值 GridLayout introws intcols 生成具有rows行和cols列的網(wǎng)格布局管理器 GridLayout introws intcols inthgap intvgap 生成具有rows行和cols列并指定行間距為hgap 列間距為vgap的網(wǎng)格布局管理器 29 例8 3GridLayout java 30 8 4 4CardLayout 卡片布局管理器可以讓一群組件使用相同的空間 如同一疊卡片 只有最上邊的可以被看到 常用的構(gòu)造函數(shù)如下 CardLayout 生成一個卡片布局管理器 CardLayout inthgap intvgap 生成一個卡片布局管理器 并指定卡片內(nèi)組件之間的空間 其他常用的方法如下 first Containerparent 顯示容器的第一個組件 last Containerparent 顯示容器的最后一個組件 next Containerparent 顯示容器的下一個組件 previous Containerparent 顯示容器的前一個組件 show Containerparent Stringname 顯示容器中名字為name的組件 必須先指定各組件的名字 31 例8 4 提問 為什么容器和面板要分別設(shè)定布局 容器是什么 里面包含什么 面板是什么 里面包含什么 32 33 8 4 5BoxLayout 框布局管理器也是用來將一群組件排列在一起 除了至左而右的排列方式 還提供由上而下的排列方式 和流布局不同的是 當空間不夠時 組件不會自動往下移 框布局的構(gòu)造函數(shù) BoxLayout Containertarget intaxis axis是用來指定組件排列的方式 X AXIS水平排列 Y AXIS垂直排列 可使用3種隱藏的組件做間隔 strut 用來在組件之間插入固定的空間 glue 用來控制一個框布局內(nèi)額外的空間 rididarea 用來生成一個固定大小的區(qū)域 34 例8 5 35 8 4 6GridBagLayout 網(wǎng)格袋布局管理器相對于其他布局管理器是非常有彈性的 相對使用上也是最復雜的 網(wǎng)格袋布局使用的基本單位為cell 一個組件可以占一個以上的cell 一個組件占有的區(qū)域稱為該組件的顯示區(qū)域 各組件的放置方式由限制決定 這些定義在GridBagConstraints對象中 36 例子8 6

注意事項

本文(java8圖形用戶界面設(shè)計概述.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!