Java圖形用戶界面.ppt
《Java圖形用戶界面.ppt》由會員分享,可在線閱讀,更多相關《Java圖形用戶界面.ppt(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第6章Java圖形用戶界面 6 1圖形用戶界面概述和java awt包簡介6 2字體和顏色的設置 圖形繪制和圖像顯示6 3Graphics2D畫圖簡介 6 1圖形用戶界面概述和java awt包簡介 圖形用戶界面GUI GraphicsUserInterface 就是應用程序提供給用戶操作的圖形界面 包括窗口 菜單 按鈕 工具欄和其他各種界面元素 在Java里有兩個包為GUI設計提供了豐富的功能 awt abstractwindowstoolkit 包和swing包 awt是javaGUI的早期版本 組件種類有限 只提供基本的GUI設計類 swing包是SUN公司對早期版本的改進版本 它提供了更加豐富的組件和功能 swing會用到awt中許多知識 學習awt包是學習GUI編程的基礎 java awt包中的一些常用類 GUI組件分類 在AWT的概念中 窗口系統(tǒng)中所顯示的各種對象都統(tǒng)稱為 GUI組件 Component 組件有基本組件和容器組件之分 基本組件是不能包含其它組件的組件 是構成圖形用戶界面的基本元素 容器組件是用來包含其他組件的 故稱之為容器 container 用戶可以把各種組件放入到容器中 也可以把容器放到另一個容器中 從而形成具有層次的組件結構 組件類 Component 容器類 Container 基本組件類 面板類panel 窗體類windows Applet小程序類 Frame框架類 Dialog對話框類 無邊框 有邊框 6 2字體和顏色的設置 圖形繪制和圖像顯示 6 2 1設置字體 一 創(chuàng)建Font類的對象 Font Stringname intstyle intsize 使用java awt包中的Font類的構造函數(shù)創(chuàng)建字體類的對象 例 Fontfont1 newFont 楷體 GB2312 Font BOLD Font ITALIC 50 二 設置字體 publicvoidsetFont Fontfont 設置字體publicFontgetFont 返回當前字體對象 字體的創(chuàng)建和設置應在顯示前進行 否則以系統(tǒng)默認字體顯示 例1 編寫一個簡單的設置字體的程序 將字體設置為宋體 黑體 大小為30個像素 并在小程序窗口輸出 TestFont javaimportjava applet Applet importjava awt Graphics importjava awt Font publicclassTestFontextendsApplet publicvoidpaint Graphicsg Fontfont1 newFont 宋體 Font BOLD 30 g setFont font1 Strings 中國北京 g drawString s 10 30 Graphics drawstring Stringstr intx inty 其中的坐標x和y指的是整個文本塊顯示時左下角的位置 page1 htmlJava小程序 運行后結果如下 思考 運行后結果如下 6 2 2設置顏色 利用java awt包中的Color類可以創(chuàng)建顏色類的對象 一 創(chuàng)建color對象 publicColor intr intg intb publicColor intr intg intb inta 第一種是用r g b值創(chuàng)建一種不透明的顏色 第二種是用r g b值創(chuàng)建一種透明的顏色 a表示透明度 參數(shù)取值為0 255 publicColor floatr floatg floatb publicColor floatr floatg floatb floata 第一種是用r g b值創(chuàng)建一種不透明的顏色 第二種是用r g b值創(chuàng)建一種透明的顏色 a表示透明度 參數(shù)取值為0 0f 1 0f 二 Color類的顏色常量 Color類共有13種顏色常量 使用的時候可以查詢API文檔 如 Color RED表示紅色 三 設置顏色 publicvoidsetColor Colorc 設置顏色publicColorgetColor 返回當前顏色對象publicintgetRed 得到當前顏色對象的red值publicintgetGreen 得到顏色對象的green值publicintgetBlue 得到顏色對象的blue值publicintgetAlpha 得到顏色對象的alpha值 例2 編寫一個顏色設置的程序 TestColor javaimportjava applet Applet importjava awt publicclassTestColorextendsApplet publicvoidinit setBackground Color black publicvoidpaint Graphicsg Colorc1 newColor 255 0 0 Colorc2 newColor 255 0 0 128 Colorc3 Color pink Fontfont1 newFont 宋體 Font BOLD Font ITALIC 15 Strings 中國北京 g setColor c1 g setFont font1 g drawString 紅色 s 10 20 g setColor c2 g drawString 紅色 s 10 40 g setColor c3 g drawString 粉色 s 10 60 page2 htmlJava小程序 運行后結果如下 6 2 3字符數(shù)組和字節(jié)數(shù)組的顯示 以下三個方法是Graphics類 該類在java awt包中 的方法 1 繪制字符串 publicvoiddrawString Stringstr intx inty 坐標點 x y 與要繪制的字符串Str左下角對應 2 繪制字符數(shù)組 publicvoiddrawChars Charchars intoffset intnumber intx inty 參數(shù)offset是數(shù)組的起始下標 參數(shù)number是要繪制的元素個數(shù) 坐標點 x y 含義同上 3 繪制字節(jié)數(shù)組 publicvoiddrawBytes Charbytes intoffset intnumber intx inty 含義同字符數(shù)組 例 編寫程序 顯示字符數(shù)組和字節(jié)數(shù)組 DrawCharByte javaimportjava applet importjava awt publicclassDrawCharByteextendsApplet publicvoidinit setBackground Color black publicvoidpaint Graphicsg Strings 中國北京 g setColor Color red g drawString s 20 40 charch newchar A B C D E g setColor Color white g drawChars ch 0 5 80 40 bytebyt newbyte 65 66 67 68 69 g setColor Color yellow g drawBytes byt 0 3 82 42 page3 javaJava小程序 運行后結果如下 6 2 4java的圖形繪制 預備知識 Java圖形界面窗口的坐標原點 0 0 在窗口左上角 水平向右為x的正方向 垂直向下為y的正方向 坐標值單位是像素 小程序窗口的坐標系同上 通過getSize 方法可得到小程序窗口界面的寬和高 小程序窗口寬w intw getSize width 小程序窗口高h inth getSize height 1 畫直線 publicvoiddrawLine intx1 inty1 intx2 inty2 功能 在點 x1 y1 和 x2 y2 之間畫直線 2 畫矩形 1 畫矩形 publicvoiddrawRect intx inty intwidth intheight 功能 以給定坐標 x y 為左上角坐標 畫寬度為width 高度為height的矩形 2 用當前設置的顏色畫填充矩形 publicvoidfillRect intx inty intwidth intheight 3 畫圓角矩形 publicvoiddrawRoundRect intx inty intwidth intheight intarcWidth intarcHeight publicvoidfillRoundRect intx inty intwidth intheight intarcWidth intarcHeight 前4個參數(shù)的意義同上 第5 6個參數(shù)arcWidth和arcHeight分別為水平方向圓弧總寬度 垂直方向圓弧總寬度 注 若圓弧的寬度和高度分別等于矩形的寬度和高度 則繪制的是橢圓 4 畫3D矩形 publicvoiddraw3DRect intx inty intwidth intheight booleanbool publicvoidfill3DRect intx inty intwidth intheight booleanbool 功能 繪制一個有立體感的矩形 當bool為true時 矩形為突出的 當bool為false時 矩形為凹陷的 3 畫橢圓和圓弧 1 畫橢圓 publicvoiddrawOval intx inty intwidth intheight publicvoidfillOval intx inty intwidth intheight 功能 x y是橢圓外切矩形左上角的坐標 參數(shù)width和height是橢圓外切矩形的寬和高 上面的兩個方法分別畫橢圓和畫填充的橢圓 2 畫圓弧 publicvoiddrawArc intx inty intwidth intheight intstartAngle intarcAngle publicvoidfillArc intx inty intwidth intheight intstartAngle intarcAngle 功能 前4個參數(shù)同畫橢圓的參數(shù) 后兩個參數(shù)含義startAngle是弧的起始角度 arcAngle表示從起始角度算起轉多少度 逆時針為正 順時針為負 他們的單位都是度 取值為0到360度之間 若超過則取360的余數(shù) 例4 編寫程序演示畫填充的橢圓和填充的扇形 DrawOval javaimportjava applet importjava awt publicclassDrawOvalextendsApplet publicvoidpaint Graphicsg g setColor Color BLUE g drawRect 20 20 100 60 g setColor Color RED g fillOval 20 20 100 60 g setColor Color BLACK g drawOval 140 20 100 60 g fillArc 140 20 100 60 0 60 page4 htmlJava小程序 運行后結果如下 6 2 5圖像的顯示 一 聲明和獲取一個圖像類的對象 1 定義一個圖像類的對象 Imagepic 2 獲取一個圖像的對象 這里只介紹小程序中獲取圖像的方法 publicImagegetImage URLurl Stringname 該方法是java applet Applet類提供的方法 用于從文件加載圖像到內存 以便顯示圖像 name 圖像名稱 格式可以是gif jpg和png等 URL 圖像存放目錄 URL getDocumentBase 圖像存放在HTML文檔目錄下或其子目錄下時 使用該方法指明圖像路徑 getCodeBase 圖像存放在程序代碼所在目錄下或其子目錄下時 使用該方法指明圖像路徑 3 得到指定圖像的高度及寬度 intgetHeight ImageObserverobserver intgetWidth ImageObserverobserver 參數(shù)observer是加載圖像時的圖像觀察器 一般是在本類顯示 其值為this 如Imagepic getImage getCodeBase a jpg intw h w pic getWidth this h pic getHeight this 二 顯示圖像的方法 1 以圖像本身的大小顯示圖像 publicbooleandrawImage Imageimg intx inty ImageObserverobserver 說明 參數(shù)x y是被顯示的圖像在窗口左上角的圖標 2 放大或縮小顯示圖像 publicbooleandrawImage Imageimg intx inty intwidth intheight ImageObserverobserver 說明 這里的width和height表示圖像在窗口顯示的尺寸 例5 編寫程序 演示按原圖大小顯示圖像 縮小為原圖一半顯示圖像 importjava applet importjava awt publicclassShowImageextendsApplet publicvoidpaint Graphicsg Imagepic getImage getCodeBase 計算 gif intw pic getWidth this inth pic getHeight this intd 5 g drawImage pic 0 0 this 原圖大小顯示g drawImage pic w d 0 w 2 h 2 this 縮小為原圖寬高一半并顯示 page5 htmlJava小程序 運行后結果如下 6 3Graphics2D畫圖簡介 Java類庫中的java awt包中還提供了另外一個類Graphics2D供畫圖顯示使用 它是Graphics類的子類 與Graphics的區(qū)別 Graphic2D有更強大的圖形處理功能 它把要繪制的圖形當作對象來處理 通過方法draw 和fill 繪制和填充圖形 方法的參數(shù)都是圖形對象 如直線 Line2D 矩形 Rectangle2D 和橢圓 Ellipse2D 等 上述的創(chuàng)建圖形對象的類都存在于java awt geom中 因此若要使用Graphics2D畫圖 需在程序前面引入java awt geom包中相應的類 通常用paint Graphicsg 繪圖時 要通過以下語句把父類對象強制轉換為其子類Graphics2D的對象g2d進行畫圖顯示 Graphics2Dg2d Graphics2D g 例6用Graphics2D畫一條直線 importjava applet importjava awt importjava awt geom publicclassTestGraphics2DextendsApplet publicvoidpaint Graphicsg Graphics2Dg2d Graphics2D g BasicStrokebstroke newBasicStroke 3 0f g2d setStroke bstroke Line2Dline newLine2D Double 20 0 20 0 32 0 20 0 g2d draw line 調用類Line2D的構造函數(shù) 參數(shù)為Double型 見API的java awt geom包 page6 htmlJava小程序 運行后結果如下- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- Java 圖形 用戶界面
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.820124.com/p-6359923.html